[WIP] neo geo mini PAD to DB15
Page 5 sur 6
Page 5 sur 6 • 1, 2, 3, 4, 5, 6
Re: [WIP] neo geo mini PAD to DB15
Hello,
J'ai finalement réussi à faire fonctionner tout cela sur la NES ! :D
"uGamePad" sera donc bien compatible MVS/supergun en sortie mais également NES, SNES, et d'autres consoles via des câbles spéciaux (db15 > nes/SNES/...) !
Je n'ai pas pu m'empêcher de prendre une vidéo toute pourrie comme je sais bien les faire
J'ai finalement réussi à faire fonctionner tout cela sur la NES ! :D
"uGamePad" sera donc bien compatible MVS/supergun en sortie mais également NES, SNES, et d'autres consoles via des câbles spéciaux (db15 > nes/SNES/...) !
Je n'ai pas pu m'empêcher de prendre une vidéo toute pourrie comme je sais bien les faire
cpasjuste- Bootleg
- Messages : 39
Date d'inscription : 14/03/2023
Re: [WIP] neo geo mini PAD to DB15
Pour tes différences de niveaux de tension, la différence entre un pad classique et un pad "arcade" est que l'arcade est passive (c'est la carte JAMMA qui fait le pullup à sa tension d'alim) alors que le pad de console semble faire son propre pullup.
Question: son pullup ne dépend pas juste de la tension que tu lui envoies? Tu as regardé s'il tournait en l'alimentant en 3.3V?
Et sinon, il y a aussi moyen, dans ton adaptateur/connecteur de manette console, de coller un darlington (un ULN2803 ou similaire) piloté par le pad, mais qui tire vers le bas les lignes que tu as toi-même mises en pullup avec ton 3.3V.
C'est ce que j'ai fait pour ma conversion de Capcom Home Arcade, et qui me permet (dans l'autre sens) de piloter des cartes 3.3V (Pandora) ou 5V (toutes les autres) sans distinction en utilisant des Darlington: https://www.neogeo-players.com/t3970p50-wip-100-brancher-un-capcom-home-arcade-sur-un-supergun
Question: son pullup ne dépend pas juste de la tension que tu lui envoies? Tu as regardé s'il tournait en l'alimentant en 3.3V?
Et sinon, il y a aussi moyen, dans ton adaptateur/connecteur de manette console, de coller un darlington (un ULN2803 ou similaire) piloté par le pad, mais qui tire vers le bas les lignes que tu as toi-même mises en pullup avec ton 3.3V.
C'est ce que j'ai fait pour ma conversion de Capcom Home Arcade, et qui me permet (dans l'autre sens) de piloter des cartes 3.3V (Pandora) ou 5V (toutes les autres) sans distinction en utilisant des Darlington: https://www.neogeo-players.com/t3970p50-wip-100-brancher-un-capcom-home-arcade-sur-un-supergun
Re: [WIP] neo geo mini PAD to DB15
Bouz a écrit:Pour tes différences de niveaux de tension, la différence entre un pad classique et un pad "arcade" est que l'arcade est passive (c'est la carte JAMMA qui fait le pullup à sa tension d'alim) alors que le pad de console semble faire son propre pullup.
Question: son pullup ne dépend pas juste de la tension que tu lui envoies? Tu as regardé s'il tournait en l'alimentant en 3.3V?
Et sinon, il y a aussi moyen, dans ton adaptateur/connecteur de manette console, de coller un darlington (un ULN2803 ou similaire) piloté par le pad, mais qui tire vers le bas les lignes que tu as toi-même mises en pullup avec ton 3.3V.
C'est ce que j'ai fait pour ma conversion de Capcom Home Arcade, et qui me permet (dans l'autre sens) de piloter des cartes 3.3V (Pandora) ou 5V (toutes les autres) sans distinction en utilisant des Darlington: https://www.neogeo-players.com/t3970p50-wip-100-brancher-un-capcom-home-arcade-sur-un-supergun
Rooo, le délire... je crois que tu as raison... j'ai 3.3v sur les pins lorsque tout est connecté.... J'avais juste pris la tension aux fils du câble manette qui sort de la console sans les raccordés au pico et ils étaient en 5v (pull-up?). Mais connectés aux gpio configurés en "input_pullup", j'ai bien du 3.3v :D
Si je comprends bien je peux me passer de resistances, level shifters etc... ?
cpasjuste- Bootleg
- Messages : 39
Date d'inscription : 14/03/2023
Re: [WIP] neo geo mini PAD to DB15
Si la manette les met en pullup, alors il faut que tu sois en input tout court, sinon tu augmentes le courant nécessaire pour mettre les GPIO à la masse (parce que tu mets 2 pullups en parallèle).
J'imagine que ce n'est pas la mort non plus . Mais si tu as des manettes actives (genre la NES avec son registre à décalage (74x265?)), il faut t'assurer qu'elles fonctionnent en 3.3V!
En tout cas, il y a peu de chance pour que la manette intègre un boost converter et te crache plus haut que ce avec quoi tu l'alimentes.
J'imagine que ce n'est pas la mort non plus . Mais si tu as des manettes actives (genre la NES avec son registre à décalage (74x265?)), il faut t'assurer qu'elles fonctionnent en 3.3V!
En tout cas, il y a peu de chance pour que la manette intègre un boost converter et te crache plus haut que ce avec quoi tu l'alimentes.
Re: [WIP] neo geo mini PAD to DB15
Ton sujet a toute sa place ici ne t’inquiète pas pour ça.
Bon faut que je trouve qq min pour le lire et y répondre….
Bon faut que je trouve qq min pour le lire et y répondre….
_________________
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 : 10158
Date d'inscription : 25/10/2015
Re: [WIP] neo geo mini PAD to DB15
Bouz a écrit:Si la manette les met en pullup, alors il faut que tu sois en input tout court, sinon tu augmentes le courant nécessaire pour mettre les GPIO à la masse (parce que tu mets 2 pullups en parallèle).
J'imagine que ce n'est pas la mort non plus . Mais si tu as des manettes actives (genre la NES avec son registre à décalage (74x265?)), il faut t'assurer qu'elles fonctionnent en 3.3V!
En tout cas, il y a peu de chance pour que la manette intègre un boost converter et te crache plus haut que ce avec quoi tu l'alimentes.
Je crois que l'on s'embrouille un peu ^^
Du coté manette USB (Xbox, neogeo-mini etc) aucun problème, tout est géré via USB, et c'est obligatoirement alimenté par le USB du pico qui lui est obligatoirement alimenté par le 5v du port manette de la console/supergun.
Le problème est la connexion entre le pico et le port manette de la NES par exemple. La console utilise 3 pins (à relier au pico): 2 en output-pullup? (latch et clock) et 1 en input (data).
Du coup, du coté pico, je dois mettre deux pins en input_pullup et un en output (data). Mais lorsque j'ai mesuré les sorties à la console et ce sans connexion ils étaient en 5v. Après les avoir connectés au pico (avec une res de 1k en série sur chaque pin) tout fonctionne, et j'ai constaté tout à l'heure suite à ton message qu'ils étaient maintenant à 3.3v (il me semble du coup, voir après).
Par contre, je viens de tester sans les res de 1k (en direct) et je pense que les deux pins en input_pullup ont cramés (plus de tension sur les 2 pins, et les digitalRead ne fonctionnent plus)
. Ça peut être un bug dans mon code mais je pense pas, je testerai a nouveau demain sur 2 nouveaux pins pour être fixé.
Peut être que j'ai allumé la console alors que les 2 pins "input-pullup" du pico n'était pas encore configurés et qu'ils se sont alors prix du 5v ? Et que les res de 1k ont fait le job avant cela ?
Bon en tout cas ça a fonctionné un moment, ça re-fonctionnera !!
cpasjuste- Bootleg
- Messages : 39
Date d'inscription : 14/03/2023
Re: [WIP] neo geo mini PAD to DB15
J'ai tout lu. C'est compliqué pour un noob... Pullup ? Darlington ?
Moi je connais les push Up et les Darling mais c'est pas pareil....
Moi je connais les push Up et les Darling mais c'est pas pareil....
_________________
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 : 10158
Date d'inscription : 25/10/2015
Re: [WIP] neo geo mini PAD to DB15
Ah bordel, oui, je suis en train de mélanger la ma ette cinnectée et la manette émulée, c'est ça que tu es en train de me dire!
Alors.....
En entrée, de l'USB, et tout est sous contrôle (même si c'est du 5V!).
En sortie, une console (pas une manette). Dans le cas de la NES, c'est bien une commande de registre à décalage, et en 5V. Donc ton Pico ne doit pas la voir en direct sous peine de perdre la vue!
Tu as un adaptateur/ connecteur par machine cible, j'imagine! C'est là que le Darlington intervient. La console, au lieu de piloter le Pico, pilote le Darlington. Et lui et met à la masse les entrées du Pico que tu as mises en input pullup !!!).
Pour les broches de sortie du Pico, tu dois pouvoir faire la même chose dans l'autre sens (le Pico pilote une entrée du Darlington et la sortie est pullup par la console).
J'ai bon?
Note: avec olus de composants discrets, tu peut faire la même logique de pullups et commande avec un transistor et 2 résistances par signaux. L'ULN2803 a l'avantage qu'il ne prend pas de résistance en entrée et est déjà monté en Darlington, donc repos de l'esprit .
@thewave l'occasion de lire la relativement longue réponse que je tavais faite ici sur le pullup, vidéo à l'appui. Je ne pense pas que tu aies lu à l'époque:
https://www.neogeo-players.com/t3972-wip-100-bricolouillage-d-un-cps-2-18in1#138205
Alors.....
En entrée, de l'USB, et tout est sous contrôle (même si c'est du 5V!).
En sortie, une console (pas une manette). Dans le cas de la NES, c'est bien une commande de registre à décalage, et en 5V. Donc ton Pico ne doit pas la voir en direct sous peine de perdre la vue!
Tu as un adaptateur/ connecteur par machine cible, j'imagine! C'est là que le Darlington intervient. La console, au lieu de piloter le Pico, pilote le Darlington. Et lui et met à la masse les entrées du Pico que tu as mises en input pullup !!!).
Pour les broches de sortie du Pico, tu dois pouvoir faire la même chose dans l'autre sens (le Pico pilote une entrée du Darlington et la sortie est pullup par la console).
J'ai bon?
Note: avec olus de composants discrets, tu peut faire la même logique de pullups et commande avec un transistor et 2 résistances par signaux. L'ULN2803 a l'avantage qu'il ne prend pas de résistance en entrée et est déjà monté en Darlington, donc repos de l'esprit .
@thewave l'occasion de lire la relativement longue réponse que je tavais faite ici sur le pullup, vidéo à l'appui. Je ne pense pas que tu aies lu à l'époque:
https://www.neogeo-players.com/t3972-wip-100-bricolouillage-d-un-cps-2-18in1#138205
Re: [WIP] neo geo mini PAD to DB15
Ok j’ai du la lire, mais j’ai surtout du l’oublier…
_________________
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 : 10158
Date d'inscription : 25/10/2015
Re: [WIP] neo geo mini PAD to DB15
J'ai supputé parce que je ne voyais pas de retour de ta part.
Je me doute bien que ce n'est pas le genre de chose qu'on retient quand on ne baigne pas un tout petit peu dedans de temps en temps . Cela dit, je pense que c'est bien que tu connaisses le concept, ça permet de comprendre pourquoi le fait de mettre un fil à la masse avec un bouton fonctionne dans la vraie vie, et surtout de comprendre pourquoi quand il n'est pas à la masse, il est à +5V comme par magie et ça fonctionne aussi!
Je me doute bien que ce n'est pas le genre de chose qu'on retient quand on ne baigne pas un tout petit peu dedans de temps en temps . Cela dit, je pense que c'est bien que tu connaisses le concept, ça permet de comprendre pourquoi le fait de mettre un fil à la masse avec un bouton fonctionne dans la vraie vie, et surtout de comprendre pourquoi quand il n'est pas à la masse, il est à +5V comme par magie et ça fonctionne aussi!
Re: [WIP] neo geo mini PAD to DB15
Bon malheureusement je pense que je vais devoir patienter un peu pour continuer le temps que je recommande un (des?) Pico. Je pense que la (les?) résistances "pull-up" interne à cramée car je n'arrive plus à capter un signal "stable" sur le "latch". Normalement il est high pendant 6 microsecondes tous les ~16 ms mais depuis que j'ai branché en direct (sans les res de 1k) le signal n'est jamais vraiment high/low j'ai l'impression. Tout le reste semble fonctionner (connexion/upload de nouveau code, etc).
Sinon il y a peut être un truc qui déconne dans mon code mais bon hier cela a fonctionné plusieurs fois d'affilée (heureusement que j'ai pris une vidéo car je commencerait à douter lol).
Sinon il y a peut être un truc qui déconne dans mon code mais bon hier cela a fonctionné plusieurs fois d'affilée (heureusement que j'ai pris une vidéo car je commencerait à douter lol).
cpasjuste- Bootleg
- Messages : 39
Date d'inscription : 14/03/2023
Re: [WIP] neo geo mini PAD to DB15
Flûte. Tu pourras aller dire sur les forums qu'on ne peut pas raccorder du +5V sur un Pico :-/.
Tu n'as pas d'autres broches disponibles pour tester?
Tu n'as pas d'autres broches disponibles pour tester?
Re: [WIP] neo geo mini PAD to DB15
Oui j'ai testé mais même résultat (il ne détecte plus correctement les "high" du pin "latch" venant de la console (pin gpio configuré en input-pullup comme ça fonctionnait hier).Bouz a écrit:Flûte. Tu pourras aller dire sur les forums qu'on ne peut pas raccorder du +5V sur un Pico :-/.
Tu n'as pas d'autres broches disponibles pour tester?
Je viens de tester avec un Seeeduino Xiao rp2040 et il semble bien détecter les "latch" maintenant (qui indiquent que je peux envoyer les boutons un par un via le pin "data") mais maintenant il ne semble pas détecter correctement les "clock" (en input-pullup également) qui permettent de synchroniser le'moment ou envoyer les boutons un par un.... Je commence à me demander s'il n'y a pas un problème avec mon code (et que j'ai eu beaucoup de chance hier) ou si il n'y a pas un problème avec les connexions de ma breadboard ou de mes câbles Dupont). Mais d'après mes test je ne sais pas trop....
Edit: ok..... cela fonctionne sur le "Xiao rp2040", malgré avoir regardé le câblage des dizaines de fois j'avais fait une erreur :D Donc mon code est bon, c'est déjà ça... je testerais à nouveau le pico plus tard (peut-être demain) afin de vérifier une nouvelle fois s'il y a bien quelque chose de cramé. Petite différence tout de même, j'ai installé une résistence pull-up "physique", à voir si cela fait une différence.
cpasjuste- Bootleg
- Messages : 39
Date d'inscription : 14/03/2023
Re: [WIP] neo geo mini PAD to DB15
Les pullups sont vraiment utiles? Dans une manette NES, il n'y a pas un 74LS165 en push-pull?
Re: [WIP] neo geo mini PAD to DB15
Je ne sais pas ce qu'est un "push-pull" (je vais me documenter du coup ), mais c'est justement ce que j'essaie d'émuler (car la manette c'est le pico, j'ai moi même souvent du mal à me le mettre dans la tête, je n'ai d'ailleurs trouvé aucun exemple de code de la sorte, c'est toujours pour brancher une manette nes/snes en USB à un pc, donc la le pico simule la console).Bouz a écrit:Les pullups sont vraiment utiles? Dans une manette NES, il n'y a pas un 74LS165 en push-pull?
Mais c'est vrai que la question est bonne. C'est juste que je n'y connais rien et j'ai constaté qu'en input-pullup tout semble fonctionner, mais il faut que je test à nouveau en input tout simple, peut être que la console fait le pull-up mais a priori non car sans les résistances (4.7k) que j'ai rajouté pour faire le pull-up, ça ne semble pas fonctionner correctement (c'est peut être à cause des res. 1k en série que j'ai rajouté pour protéger les pins du pico du 5v?! Je serais fixé lorsque j'aurais reçu les cartes que j'ai commandé: level converter type txs0108e et level shifters)
En gros j'ai encore du taff :p Mais je ne vais pas lâcher l'affaire, ça.sera un projet qui me tiendra quelques mois je suppose
cpasjuste- Bootleg
- Messages : 39
Date d'inscription : 14/03/2023
Re: [WIP] neo geo mini PAD to DB15
Ce que j'entends par push pull...
Quand tu polarises la base d'un transistor NPN (tu la mets à ta tension VCC via une résistance), ça met grosso-modo le collecteur à la masse et tu as un niveau logique bas.
Si tu veux un niveau logique haut quand tu ne le polarises pas, il faut que tu tires le collecteur à VCC avec une résistance (de pullup, donc, d'où le nom).
C'est un montage dit "à collecteur ouvert". Il te donne un niveau bas, mais tu dois faire le niveau haut toi-même.
En push-pull, tu as un aitre transistor, a priori PNP (je n'y connais rien non plus, je te rassure) qui vient pousser du VCC sur le collecteur du premier quand sa base n'est pas polarisée.
Plus besoin de résistance de pullup, on se retrouve avec un transistor qui pousse du courant (tension de sortie VCC) et un qui tire vers le bas (la masse).
La majorité des puces TTL, à ma connaissance, tournent en push-pull. Elles te sortent 0 ou 5V et peuvent se parler entre elles directement (Transistor to Transistor Logic, ou TTL).
Certaines portes ou comparateurs sont spécifiés comme des circuits intégrés à "collecteur ouvert", et nécessitent une résistance de pullup. Ils ont pour principal (unique?) avantage de pouvoir avoir leurs sorties raccordées ensemble, une résistance de pullup commune, et chacun peut parler à son tour sans être perturbé par ceux qui ne disent rien (ou disent "1").
Bref, je pense que la manette NES est équipée d'une puce en push-pull et sort du 0 ou du 5V sans nécessiter de pullup (interne ou non).
Essaie de trouver la spec d'une manette NES, on saura vite.
Ensuite, puisqu'il s'agit a priori d'un registre à décalage, la NES doit écrire sur une broche de latch et une broche d'hirloge, et lire sur une 3ème broche. Ca veut dire que tes broches d'entrée sont toujours des broches d'entrée!
Les level shifters que tu veux acheter sont bidirectionnels, donc overkill, parce qu'ils peuvent être remplacés par deux diviseurs de tensions (donc en tout 4 résistances).
Je me trompe?
Quand tu polarises la base d'un transistor NPN (tu la mets à ta tension VCC via une résistance), ça met grosso-modo le collecteur à la masse et tu as un niveau logique bas.
Si tu veux un niveau logique haut quand tu ne le polarises pas, il faut que tu tires le collecteur à VCC avec une résistance (de pullup, donc, d'où le nom).
C'est un montage dit "à collecteur ouvert". Il te donne un niveau bas, mais tu dois faire le niveau haut toi-même.
En push-pull, tu as un aitre transistor, a priori PNP (je n'y connais rien non plus, je te rassure) qui vient pousser du VCC sur le collecteur du premier quand sa base n'est pas polarisée.
Plus besoin de résistance de pullup, on se retrouve avec un transistor qui pousse du courant (tension de sortie VCC) et un qui tire vers le bas (la masse).
La majorité des puces TTL, à ma connaissance, tournent en push-pull. Elles te sortent 0 ou 5V et peuvent se parler entre elles directement (Transistor to Transistor Logic, ou TTL).
Certaines portes ou comparateurs sont spécifiés comme des circuits intégrés à "collecteur ouvert", et nécessitent une résistance de pullup. Ils ont pour principal (unique?) avantage de pouvoir avoir leurs sorties raccordées ensemble, une résistance de pullup commune, et chacun peut parler à son tour sans être perturbé par ceux qui ne disent rien (ou disent "1").
Bref, je pense que la manette NES est équipée d'une puce en push-pull et sort du 0 ou du 5V sans nécessiter de pullup (interne ou non).
Essaie de trouver la spec d'une manette NES, on saura vite.
Ensuite, puisqu'il s'agit a priori d'un registre à décalage, la NES doit écrire sur une broche de latch et une broche d'hirloge, et lire sur une 3ème broche. Ca veut dire que tes broches d'entrée sont toujours des broches d'entrée!
Les level shifters que tu veux acheter sont bidirectionnels, donc overkill, parce qu'ils peuvent être remplacés par deux diviseurs de tensions (donc en tout 4 résistances).
Je me trompe?
Re: [WIP] neo geo mini PAD to DB15
Mince, j'ai tapé tout ça ? Attention, c'est fait avec mon téléphone, ça doit être bourré de fautes!
Re: [WIP] neo geo mini PAD to DB15
Bouz a écrit:Ce que j'entends par push pull...
Quand tu polarises la base d'un transistor NPN (tu la mets à ta tension VCC via une résistance), ça met grosso-modo le collecteur à la masse et tu as un niveau logique bas.
Si tu veux un niveau logique haut quand tu ne le polarises pas, il faut que tu tires le collecteur à VCC avec une résistance (de pullup, donc, d'où le nom).
C'est un montage dit "à collecteur ouvert". Il te donne un niveau bas, mais tu dois faire le niveau haut toi-même.
En push-pull, tu as un aitre transistor, a priori PNP (je n'y connais rien non plus, je te rassure) qui vient pousser du VCC sur le collecteur du premier quand sa base n'est pas polarisée.
Plus besoin de résistance de pullup, on se retrouve avec un transistor qui pousse du courant (tension de sortie VCC) et un qui tire vers le bas (la masse).
La majorité des puces TTL, à ma connaissance, tournent en push-pull. Elles te sortent 0 ou 5V et peuvent se parler entre elles directement (Transistor to Transistor Logic, ou TTL).
Certaines portes ou comparateurs sont spécifiés comme des circuits intégrés à "collecteur ouvert", et nécessitent une résistance de pullup. Ils ont pour principal (unique?) avantage de pouvoir avoir leurs sorties raccordées ensemble, une résistance de pullup commune, et chacun peut parler à son tour sans être perturbé par ceux qui ne disent rien (ou disent "1").
Bref, je pense que la manette NES est équipée d'une puce en push-pull et sort du 0 ou du 5V sans nécessiter de pullup (interne ou non).
Essaie de trouver la spec d'une manette NES, on saura vite.
Ensuite, puisqu'il s'agit a priori d'un registre à décalage, la NES doit écrire sur une broche de latch et une broche d'hirloge, et lire sur une 3ème broche. Ca veut dire que tes broches d'entrée sont toujours des broches d'entrée!
Les level shifters que tu veux acheter sont bidirectionnels, donc overkill, parce qu'ils peuvent être remplacés par deux diviseurs de tensions (donc en tout 4 résistances).
Je me trompe?
Je crois que j'ai tout compris ou quasi tout ^^
Par contre les mêmes pins peuvent (doivent) également être utilisés pour le mvs/supergun, donc en output, pas de problème avec ça pour un diviseur de tension?
Aussi, la Megadrive elle utilise 6 fils il me semble..... Et pareil a priori il peut y avoir du 5v donc il me faudrait rajouter 12 résistances (c'est faisable cela dit), d'où l'idée du Tx... (8 voix), mais je sais pas (tout comme avec les res de division de tension) si ça peut poser problème pour les mettre en output pour le MVS.
Bon en tout cas bien content d'avoir un peu d'aider, car pour l'instant j'ai tout fait tout seul avec l'aide du gogole, mais faut bien trier/décoder)etc...
cpasjuste- Bootleg
- Messages : 39
Date d'inscription : 14/03/2023
Re: [WIP] neo geo mini PAD to DB15
Tu comptes utiliser un adapteur pour chaque console, avec quelque chose comme DB15 vers NES, DB15 vers Megadrive, ...?
Il ne serait pas carrément facile de mettre ces résistances dans l'adaptateur?
Il ne serait pas carrément facile de mettre ces résistances dans l'adaptateur?
Re: [WIP] neo geo mini PAD to DB15
Bouz a écrit:Tu comptes utiliser un adapteur pour chaque console, avec quelque chose comme DB15 vers NES, DB15 vers Megadrive, ...?
Il ne serait pas carrément facile de mettre ces résistances dans l'adaptateur?
Oui exactement, le même "appareil" (uGamePad pour micro gamepad) permettra de brancher une manette USB sur un supergun, une nes, une SNES, une MD, etc.. via des câbles spéciaux (db15 vers ...). Pour l'instant seul l'ordre des fils au niveau du connecteur du câble db15 sont à changer (dans ma vision) car après on choisi le mode de sortie (configuration des gpio) avec la manette USB via le p'tit écran OLED (ou via des combos que j'ajouterais plus tard).
Et pour la Megadrive par exemple, il faut protéger 7 pins il me semble, enfin à confirmer mais je suppose qu'il vaut mieux tous les protéger ? Tout comme pour la NES il faut surement quand même protéger le pin data/output en plus du clock et latch au cas où?
Du coup ton idée de les mettre dans les câbles me semble plus simple de mon côté (enfin c'est surtout que j'avais terminé le design du pcb), mais en même temps cela rend les câbles plus compliqués à créer et je ne vois pas comment caler 14 (?) Résistances dans un câble.
Édit: après réflexion je suppose que tu penses à un petit pcb à mettre dans le capot du connecteur db15 avec les res et les pads pour connecter les fils?
Ça peut être pas mal enfin à voir. Après je peux sûrement trouver la place pour les rajouter sur le pcb de mon "uGamePad", ça serait quand même plus propre/ simple non ? Faut juste s'assurer que ça ne gêne pas lorsque les pins sont en output.
cpasjuste- Bootleg
- Messages : 39
Date d'inscription : 14/03/2023
Re: [WIP] neo geo mini PAD to DB15
Je viens de tester avec des diviseurs de tension, à priori ça doit limiter la tension à 3.3v dans cette configuration (si j'ai bien compris et bien relié). Cependant, dans cette configuration, je ne détecte plus les "HIGH" sur le "latch" (pas regardé les autres), il semble toujours à 0v (voir 0.4v).
cpasjuste- Bootleg
- Messages : 39
Date d'inscription : 14/03/2023
Re: [WIP] neo geo mini PAD to DB15
Tu n'as pas d'oscillo, par hasard?
Possible que la NES ait une impédance de sortie qui s'ajoute à ta résistance.
Sans oscillo, tu oeux te tenter de configurer ta briche d'entrée en ADC et lire la tension perçue .
L'électronique dans les câbles, c'était aussi pour éviter que ton microcontrôleur soit mal configuré par l'utilisateur et configure un GPIO en sortie au lieu d'une entrée (destruction assurée). Mais avec des résistances dans tous les sens, tu limites le risque!
Possible que la NES ait une impédance de sortie qui s'ajoute à ta résistance.
Sans oscillo, tu oeux te tenter de configurer ta briche d'entrée en ADC et lire la tension perçue .
L'électronique dans les câbles, c'était aussi pour éviter que ton microcontrôleur soit mal configuré par l'utilisateur et configure un GPIO en sortie au lieu d'une entrée (destruction assurée). Mais avec des résistances dans tous les sens, tu limites le risque!
Re: [WIP] neo geo mini PAD to DB15
Bouz a écrit:Tu n'as pas d'oscillo, par hasard?
Possible que la NES ait une impédance de sortie qui s'ajoute à ta résistance.
Sans oscillo, tu oeux te tenter de configurer ta briche d'entrée en ADC et lire la tension perçue .
L'électronique dans les câbles, c'était aussi pour éviter que ton microcontrôleur soit mal configuré par l'utilisateur et configure un GPIO en sortie au lieu d'une entrée (destruction assurée). Mais avec des résistances dans tous les sens, tu limites le risque!
Non pas d'oscillo ici ^^ j'ai basé tout mon taff sur ça : https://tresi.github.io/nes/#
La seule configuration qui semble fonctionner c'est quand je fais un pull-up (je crois) sur les 2 pins en entrée (une res 1k entre la console et le pin afin de limiter la casse + une res 6.8k entre le pin du pico et le 3.3v du pico afin qu'il soit tjs en high (ce qui n'est plus le cas des que j'allume la console, je capte bien le "latch" haut toutes les 20ms (au lieu des 16ms annoncé car 50hz sur ma pal je suppose).
Voici le code que j'utilise alors quand ça fonctionne:
- Code:
// wait for 12us high latch
while (!digitalRead(NES_LATCH)) {}
while (digitalRead(NES_LATCH)) {}
// send button
digitalWrite(NES_DATA, buttons & BTN1 ? LOW : HIGH);
// wait for 6us high clock
while (!digitalRead(NES_CLOCK)) {}
while (digitalRead(NES_CLOCK)) {}
// send button
digitalWrite(NES_DATA, buttons & BTN2 ? LOW : HIGH);
// wait for 6us high clock
while (!digitalRead(NES_CLOCK)) {}
while (digitalRead(NES_CLOCK)) {}
...
Édit: es-tu sur qu'un gpio configuré en output peut cramer s'il reçoit une tension? Ça me semble étrange quand même, et du coup en effet cela ne m'arrange pas De ce que j'ai lu à droite a gauche cela ne pose pas de problème.
cpasjuste- Bootleg
- Messages : 39
Date d'inscription : 14/03/2023
Re: [WIP] neo geo mini PAD to DB15
J'ai trouvé de bonnes infos ici : https://www.nesdev.org/wiki/Standard_controller
Si je comprends bien ce que j'ai découvert lors de mes tests est exact :D On doit mettre les pins en pull-up. Du coup sur le pico j'ai sûrement cramé les résistance interne pour le pull-up (car ça semble ne plus fonctionner) mais ça fonctionne avec un pull-up hardware. Demain je test quand même avec les levels shifters and co.
PAL
Some PAL region consoles have internal diodes on their controller port. (See: Controller port pinout: PAL)
These diodes prevent the Clock and Latch signals from functioning unless they are pulled high. PAL controllers for these regions (NES-004) each contain a 3.6KΩ resistor between these two inputs and 5V.[2]
On these systems, only PAL controllers with the pull-ups can be read. NTSC systems can read controllers of either type. Modifying the internal controller port to bypass these diodes will make the PAL system compatible with both. Conversely, modifying a controller to add the pull-up resistors makes it compatible with both types of systems.
Si je comprends bien ce que j'ai découvert lors de mes tests est exact :D On doit mettre les pins en pull-up. Du coup sur le pico j'ai sûrement cramé les résistance interne pour le pull-up (car ça semble ne plus fonctionner) mais ça fonctionne avec un pull-up hardware. Demain je test quand même avec les levels shifters and co.
cpasjuste- Bootleg
- Messages : 39
Date d'inscription : 14/03/2023
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 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.
cpasjuste- Bootleg
- Messages : 39
Date d'inscription : 14/03/2023
Page 5 sur 6 • 1, 2, 3, 4, 5, 6
Sujets similaires
» [RECH] CPS2 Darksoft - Adaptateur db15/usb
» Nes mini hacké
» guide neo•geo mini
» Une Mini NES pour novembre!
» mini neogeo europe
» Nes mini hacké
» guide neo•geo mini
» Une Mini NES pour novembre!
» mini neogeo europe
Page 5 sur 6
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum