Gamoover

Forums " WORKSHOP" => Jamma, cablages, contrôleurs, interfaces & hacks => Microcontrôleurs et électronique => Discussion démarrée par: KodeIn le Mardi 26 Juillet 2011, 19:54:31 PM

Titre: [WIP] Un panel 1 joueur en 5 fils (A.K.A. SNES+)
Posté par: KodeIn le Mardi 26 Juillet 2011, 19:54:31 PM
Bonjour tout le monde!

J'avais besoin d'un projet tangible pour me motiver à continuer la rédaction des tutos sur le MSP430.
Comme j'ai tout un tas de documentation sur le protocole des manettes NES & SNES, un panel de borne à recâbler, un contrôleur arcade à créer pour ma SNES et de l'exploration de MSP430 à faire, je me suis dit que j'allais combiner le tout. ;D


Table des matières
 •Comment fonctionnent les joypads NES et SNES? (#post_joypad)
       •Le CMOS 4021 (#post_cd4021)
             •Ses 5 fils de connexions (#post_fils)
             •Son fonctionnement (#post_fonct)
             •Usage dans le cas de la SNES (#post_snes)

 •Le projet (#post_but)
       •Panel Board (#post_panel)
       •Main Board (#post_main)


Comment fonctionnent les joypads NES et SNES?
J'aime beaucoup le système que Nintendo a utilisé pour la communication entre les joypad NES, SNES et la console.
Ce système simple, efficace, peu cher à implémenter et facile à faire évoluer repose entièrement sur un composant, le CMOS 4021.


Le CMOS 4021
Pour comprendre le fonctionnement de ce composant, on va d'abord regarder quelle sont les connections entre le joypad et la console.

Ses 5 fils de connexions
5 fils sont nécessaires pour piloter un 4021, les voici:
• Vdd - alimentation électrique.
• Masse - alimentation électrique.
• DATA - la sortie série.
• P/S ou LATCH - le signal qui va déclencher la "traduction" et la transmission.
• CLOCK - nécessaire pour que le 4021 sache quand envoyer le bit suivant.

Son fonctionnement
(http://hico-srv022.pixhotel.fr/sites/default/files/gamoovernet/20110727022752-KodeIn-4021schema.png)
Le signal d'horloge est continuellement envoyé au composant.
Si le signal est haut sur CLOCK et P/S, alors la transmission commence. Le huitième "bloc" transmet l'état de l'entrée P8 jusqu'à ce que le signal d'horloge retombe.
Le bloc est alors inactif, il laisse passer les valeurs du bloc suivant.
Au signal d'horloge suivant, le septième bloc transmet l'état de P7 et ainsi de suite jusqu'à P1.

Usage dans le cas de la SNES
Le 4021 permet donc de "sérialiser" 8 entrées parallèles, ça ne suffit pas pour la manette SNES :
• 4 directions
• 4 boutons (ABXY)
• 2 gâchettes
• Start
• Select
=> 12 entrées.
Heureusement, le 4021 possède une entrée série, on peut donc "chainer" deux 4021, ce qui permet de passer de 8 à 16 signaux.
Il faudra simplement connecter la sortie Q8 du second 4021 à l'entre Serial In du premier et faire durer le signal P/S 16 cycles d'horloge au lieu de 8.
Et voici ce qu'on obtient à la sortie de ce montage :
(http://hico-srv022.pixhotel.fr/sites/default/files/gamoovernet/20110720015600-KodeIn-snes-dataFormat.png)
Les 4 derniers bits sont utilisés pour décrire le périphérique connecté à la SNES. Dans notre cas, si on a besoin de plus de boutons, ils sont disponibles.


Conclusions
Ce système me semble particulièrement élégant et très bien pensé, tout est dans la simplicité.
Comme je le disais, les ingénieurs de chez Nintendo ont bien travaillés, ils ont utilisés un composant très courant et peu cher de manière intelligente.
(La solution des ingénieurs Sega me parait beaucoup moins élégante.)

Bien entendu, il doit certainement exister des puces plus récentes nécessitant moins de connections (1-Wire et autres joyeusetés) que je pourrais utiliser pour réduire les fils entre le panel et le JAMMA. Mais ça va à l'encontre d'un de mes buts : pouvoir faire un contrôleur arcade pour ma SNES.



Le projet
Donc, on sait comment fonctionne la manette SNES, on peut donc fabriquer son circuit pour une manette.
Mais il n'y a pas de MSP430 et ça ne sert à rien dans une borne…
L'idée, c'est de faire un second PCB qui servira d'interface entre le JAMMA et le panel, dont le cerveau sera un MSP430.


Panel Board
A l'heure actuelle, je n'ai pas encore le matos (breadboard, puces, leds, …), mais ça ne m'a pas empêché de commencer à plancher sur les PCB qui seront nécessaires.

Pour le PCB qui se fixera sous le panel, c'était facile, j'ai pioché sur le net ce schéma reprenant le circuit d'une manette :
(http://hico-srv022.pixhotel.fr/sites/default/files/styles/gamoovernet890px/public/gamoovernet/20110311102308-KodeIn-snesnesicschem.gif) (http://hico-srv022.pixhotel.fr/sites/default/files/gamoovernet/20110311102308-KodeIn-snesnesicschem.gif)

Quelque jours de combat entre Eagle et moi (ENOOOORME merci à Iro pour avoir supporté mes MP  ^-) ont donné ce résultat:
(http://hico-srv022.pixhotel.fr/sites/default/files/styles/gamoovernet890px/public/gamoovernet/20110731001949-KodeIn-SNES-Panel-Board-04.png) (http://hico-srv022.pixhotel.fr/sites/default/files/gamoovernet/20110731001949-KodeIn-SNES-Panel-Board-04.png)
Plus un ptit coup de toshop pour le logo de ce que je voudrais appeler mon site web. Le logo gamoo sera aussi ajouté par la suite ^^

(http://hico-srv022.pixhotel.fr/sites/default/files/styles/gamoovernet890px/public/gamoovernet/20110731003936-KodeIn-circuit-PanelBoard-04.png) (http://hico-srv022.pixhotel.fr/sites/default/files/gamoovernet/20110731003936-KodeIn-circuit-PanelBoard-04.png)
Voici le typon, il est fourni sans aucune garantie! Si vous l'utilisez, c'est à vos risques et périls. Les dimensions du PCB sont de 50*37,5mm, l'image est en 600dpi.
J'attends les fonds pour faire un proto sur breadboard. Et si le test est convaincant, faudra que je trouve un bonne âme équipée de ce qu'il faut pour produire des PCB  ;)


Le fonctionnement intrinsèque du circuit a été expliqué plus haut, je vais donc me contenter d'expliquer 2-3 détails au sujet de ce PCB.
Avant toutes choses, j'ai souhaité éviter d'utiliser des composants montés en surface. Mon but était de permettre à tout le monde réaliser cette carte, il fallait donc que les composants soient faciles à souder.
Comme on peut le remarquer, malgré tous mes efforts, je n'ai pas réussit à router toutes les pistes sur une seule face, il faudra donc utiliser des petits bout de fil ici représentés en rouge.
PULLUP1 et PULLUP2 sont des réseaux de 8 résistances avec une broche commune (pour un total de 9 broches), j'ai préféré utiliser un réseau, c'est bien plus compact sur le PCB que 16 résistances distinctes. La raison de la présence de ces résistances est qu'on travaille avec du CMOS et que tous les input ne seront pas forcément utilisés. Il fallait donc équiper toutes ces entrées de résistances pull up, qui vont maintenir l'entrée à un niveau logique haut (1). Dans ce cas, le bouton poussoir est connecté à la masse, quand on l'actionnera, il fera passer l'entrée à un niveau bas (0).
La LED bicolore sert à la fois de témoin d'alimentation et de témoin d'activité de transmission de données. Elle est totalement facultative, mais c'est toujours utile d'avoir une preuve visuelle. Merci à Iro qui m'a conseillé de mettre un témoin d'alim, j'ai un peu élargi le concept par la suite ;)
Le connecteur 5 broche (qui semble énorme) est un Molex avec détrompeur. Il me semblait essentiel de "sécuriser" cette connexion, c'est pour cette raison que j'ai choisi ce connecteur.
Le connecteur type "pin header" des 17 broches (16 input + masse) m'a semblé la solution la plus facile à implémenter. Etant donné qu'il n'y a pas de risque à le connecter à l'envers, je n'ai pas jugé nécessaire de prévoir de détrompeur physique. Un simple point de couleur sur le connecteur femelle pour repérer la broche 1 ou la masse suffira. (la masse se trouve, depuis la version 0.4, sur la broche centrale)



Main Board
Petit souci, dans une borne le panel fonctionne en 5V, hors les MSP430 acceptent maximum 3,3V.
Pas d'inquiétude! On va se faire un petit circuit d'alim pour abaisser un voltage déjà dispo dans la borne (5V ou 12V) à 3,3V.
Pour ça, il me semble qu'un LM3940 ou similaire, avec ses condos, ça serait parfait.

Oui, mais les sorties du MSP430 vers le JAMMA seront aussi 3,3V, du coup… c'est là qu'interviennent les sn74lvc4245a.
Le sn74lvc4245a est un bus de 8 bits prenant 3,3V d'un côté et 5V de l'autre, nickel!

Du point de vue du MSP430, on a besoin d'un grand nombre d'I/O, potentiellement 16 pour les sorties et 3 pour le panel.
Donc, le format DIP, avec ses 20 broches, sera un peu short niveau des I/O…
Il va falloir employer le format TSSOP qui met à disposition 28 broches, mais moins facile à souder, puisque c'est du CMS.




EDIT : mise à jour du typon, version 0.4 maintenant au format paysage plutôt que portrait.  <:)
Titre: [WIP] Un panel 1 joueur en 5 fils (A.K.A. SNES+)
Posté par: KodeIn le Mercredi 27 Juillet 2011, 03:28:23 AM
Petit up pour cause de révision majeure du texte... :D
Titre: [WIP] Un panel 1 joueur en 5 fils (A.K.A. SNES+)
Posté par: HerosSuperMan le Mercredi 27 Juillet 2011, 08:03:30 AM
Joli et bien documenté
encore du travail de pro ça  ^-
Titre: [WIP] Un panel 1 joueur en 5 fils (A.K.A. SNES+)
Posté par: Iro le Jeudi 28 Juillet 2011, 11:34:37 AM
Nickel !!!!
Tu n'aurais pas une image échelle 1 du montage pour voir sa taille ?
Mais rendons à César ce qui est à César : Merci à Liodel pour les astuces Eagles et Aganyte pour les astuces de montage.
<:)
Titre: [WIP] Un panel 1 joueur en 5 fils (A.K.A. SNES+)
Posté par: ɐɹqoƆ‾ɥƃᴉH le Jeudi 28 Juillet 2011, 14:14:59 PM
C'est cool ce petit projet et la carte est pas mal ^-

Par contre, je comprends la finalité de la chose avec le MSP, j'ai du rater quelque chose au passage sans doute...
Titre: [WIP] Un panel 1 joueur en 5 fils (A.K.A. SNES+)
Posté par: Iro le Jeudi 28 Juillet 2011, 14:59:44 PM
Pour décoder et ensuite brancher sur un jamma ou un hack quelconque.

Titre: [WIP] Un panel 1 joueur en 5 fils (A.K.A. SNES+)
Posté par: ɐɹqoƆ‾ɥƃᴉH le Jeudi 28 Juillet 2011, 15:25:10 PM
Encoder le panel "style SNES" puis décoder de l'autre coté, c'est ça ?

Edit : j'avais pas lu le titre du topic ^^
Titre: [WIP] Un panel 1 joueur en 5 fils (A.K.A. SNES+)
Posté par: Maitre_Poulpi le Jeudi 28 Juillet 2011, 15:28:17 PM
J'ai pas encore tout saisi non plus mais étant padawan du MSP430, je supporte  :D
Titre: [WIP] Un panel 1 joueur en 5 fils (A.K.A. SNES+)
Posté par: KodeIn le Jeudi 28 Juillet 2011, 15:30:21 PM
Citation de: High_Cobra le Jeudi 28 Juillet 2011, 15:25:10 PM
Encoder le panel "style SNES" puis décoder de l'autre coté, c'est ça ?

Edit : j'avais pas lu le titre du topic ^^
C'est bien ça, "C'est totalement inutile et donc rigoureusement indispensable!" Jérômes Bonaldi, mon héros.  :D


Niveau de la taille du PCB, c'est un peu encombrant, il fait approx 5 par 5,5cm.
Avec des CMS, j'aurais fait du BEAUCOUP plus compact, mais BEAUCOUP moins faisable avec du matos de hobbyiste.
Titre: [WIP] Un panel 1 joueur en 5 fils (A.K.A. SNES+)
Posté par: ɐɹqoƆ‾ɥƃᴉH le Jeudi 28 Juillet 2011, 15:31:21 PM
Alors en fait, c'est ça oui... Donc ok, ça peut être marrant à faire mais quitte à faire joujou avec des MSP, pourquoi ne pas en mettre un de chaque coté et les faire dialoguer par un BUS ? Ca pourrait être fun aussi... Et si tu fais un bus, ça te permet de mettre autant de "MSP Panel" que tu veux sur le bus et un MSP qui décode tout ça de l'autre coté.

Plus intéressant, application réel possible, moins couteux et sans doute plus simple à faire les cartes aussi...

Bien que je soutienne tout à fait ton initiative ^-^
Titre: [WIP] Un panel 1 joueur en 5 fils (A.K.A. SNES+)
Posté par: KodeIn le Jeudi 28 Juillet 2011, 15:37:14 PM
Tsé quoi? C'est pas con, ce que tu dis!  =:))

Juste, l'avantage du montage SNES, c'était que j'avais déjà le schéma tout fait.
Et comme c'était pour un premier contact avec Eagle, c'était plus simple de partir là-dessus, que de partir en freestyle complet.

Excuse de grosse baltringue : Puis, tu vois, je respecte beaucoup le travail des ingénieurs de chez Nintendo et c'est une manière de leur rendre hommage.
Titre: [WIP] Un panel 1 joueur en 5 fils (A.K.A. SNES+)
Posté par: Little_Rabbit le Jeudi 28 Juillet 2011, 18:04:22 PM
Salut,

Je viens mettre mon petit grain de sel :).

J'avais lu la première version du topic, et j'avoue que je n'avais pas bien compris le but de tout ça. J'ai ensuite relu 2 ou 3 fois la seconde version qui est déjà plus claire :D. Je pensais mieux cerner le projet. Mais en y réfléchissant bien, je ne suis toujours pas bien sûr d'avoir saisi la finalité du projet  =:)).

KodeIn, je pense qu'il manque un schéma synoptique à ton exposé pour que tout le monde comprenne d'emblée ce qu'est le projet ;).

Voici ce que j'ai compris :
- tu veux faire un panel avec joystick et bouton type arcade, et que ce panel puisse être branché sur une SNES, d'où le montage d'encodage série des boutons et d-pad
- mais le même panel pourra ensuite être relié à une borne en Jamma, et alors on redécode le flux série au standard SNES vers des broches discrètes pour du Jamma

J'ai bon ??  :D C'est ça ton projet ?

Vu qu'il est orienté MSP430, pourquoi ne pas avoir fait cette première partie avec un MSP430 ? Alors certes il y a le problème du 5V/3,3V, et la puissance du MSP est complètement sur-dimensionnée, mais cela pourrait être la première étape et petit à petit, on ajouterait de nouvelles fonctionnalités, en faisant évoluer le projet de base. L'idée du bus de High_Cobra est également très séduisante !

Ton projet me rappelle un petit développement que j'avais fait il y a des années chez Delphine Soft. On démarrait le développement de Fade to Black et Shaq Fu et on mettait en place un environnement de développement complètement nouveau. On passait d'Amiga 2000/3000 à des stations Silicon Graphics sous Unix (hé oui, le succès de Flashback avait été tel que cela apportait des moyens tout autre !...).

En gros, avant de faire tourner un jeu sur telle ou telle plateforme (SNES, Megadrive, etc.), il était développé dans un genre de framework maison, avec toutes sortes de possibilités d'édition et de création. Pour tester le jeu sur ce framework, il fallait néanmoins des manettes de jeu, hors cela n'existait pas sur Silicon Graphics ! Du coup, j'avais démonté une manette compatible SNES pour en comprendre le fonctionnement, et cherché une solution pour interfacer cela sur les Silicon. Hors cest stations sont assez fermées comme bestiole, il n'y a même pas de port parallèle si je me souviens bien, seulement un port série, sans documentation pour accéder à d'éventuelles couches bas niveau. La solution que j'avais trouvée était la suivante :
- je prenais un Amiga 500 et branchais la manette SNES sur son port parallèle
- un petit programme sur l'A500 générait sur une broche programmée en sortie le signal d'horloge pour le registre à décalage de la manette, et lisait successivement sur une autre broche l'état de chaque bouton.
- on composait un mot de 2 x 8 bits résultant, et on l'envoyait sur le port série RS-232 de l'A500
- sur Silicon, un petit bout de soft tournait en tâche de fond et récupérait les valeurs du port série pour les mettre dans une zone de mémoire partagée
- notre Framework récupérait cette valeur et alimentait le moteur de jeu

Ça marchait super bien, sans aucune latence :D. On a utilisé ce système durant des années. Alors certes, réduire un Amiga 500 à cet usage, c'est un peu insultant pour la bécane, mais on a fait avec ce qu'on avait sous la main, et opté pour une solution simple ne nécessitant pas de développement matériel (à part le câble manette -> port parallèle).

Fin de l'anecdote ;), j'espère ne pas avoir pollué ton post !

A+
Titre: [WIP] Un panel 1 joueur en 5 fils (A.K.A. SNES+)
Posté par: Maitre_Poulpi le Jeudi 28 Juillet 2011, 19:03:03 PM
J'ai des frissons à chaque fois que tu racontes tes anecdotes chez Delphine Software. Et les frissons c'est pour rester poli  =:))

Donc le but, c'est de créer un panel directement compatible avec la snes mais également Jamma ?
C'est-à-dire, tu te pointes avec ton panel devant ta tv où il y a ta snes et tu joues avec.
Ou alors, tu mets ce panel sur une borne ou autre directement sur jamma et tu joues. ?
Titre: [WIP] Un panel 1 joueur en 5 fils (A.K.A. SNES+)
Posté par: Iro le Jeudi 28 Juillet 2011, 19:16:58 PM
Le but est tous simple : Réduire le nombre de fils entre le panel et le jamma ou autre.
Comme le JVS par exemple. Ou comme toutes manettes à XXX boutons de maintenant.
Et en profiter pour rendre le panel compatible SNES.
Titre: [WIP] Un panel 1 joueur en 5 fils (A.K.A. SNES+)
Posté par: Maitre_Poulpi le Jeudi 28 Juillet 2011, 19:28:03 PM
Citation de: Iro le Jeudi 28 Juillet 2011, 19:16:58 PM
Le but est tous simple : Réduire le nombre de fils entre le panel et le jamma ou autre.
Comme le JVS par exemple. Ou comme toutes manettes à XXX boutons de maintenant.
Et en profiter pour rendre le panel compatible SNES.

D'accord, on fait une grosse manette avec un petit fil que l'on branche facilement.
Un peu comme l'upcb mais compatible snes et jamma ? Et tout ça en utilisant notre fameux MSP.
On peut envisager par la suite d'étendre à d'autres machines ?
Titre: [WIP] Un panel 1 joueur en 5 fils (A.K.A. SNES+)
Posté par: KodeIn le Jeudi 28 Juillet 2011, 19:45:36 PM
Citation de: Little_Rabbit le Jeudi 28 Juillet 2011, 18:04:22 PM
[…]
J'avais lu la première version du topic, et j'avoue que je n'avais pas bien compris le but de tout ça. J'ai ensuite relu 2 ou 3 fois la seconde version qui est déjà plus claire :D.
[…]
Ouais, je dois reconnaitre que la première version était d'une clarté que je qualifierais de boueuse…  :-[

J'avais écrit comme ça me venait et comme j'étais un peu fatigué, ça a donné une bouillie à la limite de l'illisibilité. (et même au-delà de la limite)
En me relisant, j'ai eu un peu honte, ce qui a mené à une réécriture bien mieux structurée.
Ça n'est toujours pas merveilleusement bien foutu, mais ça va s'améliorer. (je suis meilleur pour remanier un texte que pour l'écrire ;) )

Et on aime énormément tes anecdotes, les jeux Delphine ont un peu bercé mon enfance. Donc avoir un aperçu de ce qui se passait "de l'autre coté du miroir" est un très grand plaisir.




Le but principal, c'était de proposer un PCB pas cher et facile à fabriquer avec du matos de Hobbyiste. Ceci dans le but d'éviter les hackpads de manettes SNES quand je voudrai faire deux manettes arcade pour ma SNES. (je l'ai déjà dit ailleurs, je suis pour la sauvegarde des vieux joypads)

Puis, comme je suis une GROSSE FEIGNASSE, je me suis dit que j'avais déjà un encodeur pour manettes, pourquoi perdre mon temps à en faire un autre à base de MSP430?
Donc, j'ai préféré repartir de ce PCB pour faire ce petit projet. Il est plus inutile qu'autre chose, mais ça m'amuse : permettre de brancher ce PCB/un joypad SNES sur une borne en JAMMA par le biais d'un PCB traducteur. Traducteur qui pourrait éventuellement rajouter des trucs sympa comme l'autofire, par exemple.

Puis ça fait une manière facile de swapper entre un panel 1 joueur et un panel 2 joueur, ça fait un cablage plus propre sous le panel, toussah…



Citation de: Maitre_Poulpi le Jeudi 28 Juillet 2011, 19:28:03 PM
[…]
On peut envisager par la suite d'étendre à d'autres machines ?
Facilement, puisque c'est le MSP430 qui se charge de faire la traduction.
C'est sa programmation qu'il faudra altérer pour changer la manière dont il transmettra l'état des boutons.
Titre: [WIP] Un panel 1 joueur en 5 fils (A.K.A. SNES+)
Posté par: KodeIn le Vendredi 12 Août 2011, 22:27:31 PM
Bon, je n'ai pas avancé (je dois encore ajouter le logo gamoover sur le typon du pcb et faire un ground plane, par exemple) du fait de mon nouveau job.
Ça a aussi réduit grandement ma participation à sur ce forum (selon certains, ça n'est pas un mal).

Par contre, il y a une bonne nouvelle: je vais toucher un salaire!
Salaire qui va me permettre l'achat d'une SUPERBE station Weller de luxe (le bloc WB2M avec un fer WSP80 par exemple) ^_^
Mais aussi d'un bon multimètre et d'un lot de composants standards (leds, résistances, condos, breadboard, ...).

Et par la suite, éventuellement, un kit de "gravure" de pcb?
Titre: [WIP] Un panel 1 joueur en 5 fils (A.K.A. SNES+)
Posté par: ɐɹqoƆ‾ɥƃᴉH le Vendredi 12 Août 2011, 22:51:41 PM
J'ai testé ton bricolage l'autre jour, et ne me demande pas pourquoi mais ça n'as pas l'air de marcher sur des S.Famicom, ça marche que sur les S.Nes... Bizarre...
Titre: [WIP] Un panel 1 joueur en 5 fils (A.K.A. SNES+)
Posté par: KodeIn le Vendredi 12 Août 2011, 23:10:06 PM
Merci pour le feedback!
Ça fait plaisir de savoir que c'est fonctionnel, au moins sur SNES.

N'ayant pas de Super Famicom, je vais avoir un peu de mal à chercher une solution.
Ptet pour plus tard... ;)
Titre: [WIP] Un panel 1 joueur en 5 fils (A.K.A. SNES+)
Posté par: Iro le Mardi 04 Octobre 2011, 10:57:54 AM
hello ,
Tu as avancé sur la MainBoard ?
<:)
Titre: [WIP] Un panel 1 joueur en 5 fils (A.K.A. SNES+)
Posté par: KodeIn le Jeudi 13 Octobre 2011, 02:39:53 AM
Pas des masses, il faut bien le reconnaitre  :-\

Comme indiqué dans mon autre message de la nuit, j'ai été pris par les événements, le boulot et le permis moto ces derniers mois.  ;D
Mais très bientôt tout cela va se stabiliser (du moins je le souhaite et l'espère) et je pourrai enfin reprendre ce projet (et d'autres) là où je l'ai laissé.
Normalement vers début/mi novembre, je devrais récupérer du temps pour moi et mes hobbies.

Désolé pour cette longue absence, le projet n'est pas abandonné, juste mis en suspension en attendant d'avoir du temps libre  ;)
Titre: [WIP] Un panel 1 joueur en 5 fils (A.K.A. SNES+)
Posté par: Iro le Jeudi 13 Octobre 2011, 10:24:54 AM
Mais pas de soucis, tu utilises ton temps comme bon te semble :D
<:)
Titre: [WIP] Un panel 1 joueur en 5 fils (A.K.A. SNES+)
Posté par: Little_Rabbit le Lundi 17 Octobre 2011, 21:02:35 PM
Salut,

Et le fait que tu aies trouvé un job est autrement plus important que l'avancé de ces projets certes intéressants ! ;)

8)

A+
Titre: [WIP] Un panel 1 joueur en 5 fils (A.K.A. SNES+)
Posté par: KodeIn le Vendredi 24 Février 2012, 19:53:12 PM
Salut,

Grande nouvelle, suite à la découverte d'un petit "fond de poche" sur mon compte paypal, j'ai commandé du matos via le célèbre site d'enchères!
Deux breadboards, du cable étamé pour breadboard, beaucoup (trop) de leds vertes et des centaines de résistances à film métallique de valeurs variées.

Le tout pour une somme relativement modique... vu que c'est nos amis chinois qui m'expédient tout ça (disons que si j'avais dû acheter tout ça chez l'épicier du coin, ça m'aurait au minimum couté le double pour moitié moins de matos :D )

Notez il y a un "mais", dans ce cas, c'est le temps qu'il va falloir pour que les produits arrivent (si ils ne se perdent pas en chemin, bien entendu... )  :P
Titre: [WIP] Un panel 1 joueur en 5 fils (A.K.A. SNES+)
Posté par: Iro le Samedi 25 Février 2012, 08:07:07 AM
Aaaaaah !! c'est une bonne nouvelle !! :D
Titre: [WIP] Un panel 1 joueur en 5 fils (A.K.A. SNES+)
Posté par: Maitre_Poulpi le Jeudi 22 Mars 2012, 21:39:18 PM
J'avais pas vu ton post.
Alors matos arrivé ?
Titre: [WIP] Un panel 1 joueur en 5 fils (A.K.A. SNES+)
Posté par: KodeIn le Vendredi 25 Mai 2012, 08:29:29 AM
Citation de: Maitre_Poulpi le Jeudi 22 Mars 2012, 21:39:18 PM
J'avais pas vu ton post.
Alors matos arrivé ?
Cette partie du matos est arrivée, mais j'avais oublié certains trucs, donc là, je suis en train de compléter petit à petit.
J'ai acheté une petite station de soudage et un multimètre à pas cher dans un magasin allemand, la station weller, ça sera pour quand j'aurai un vrai boulot qui paye :P
Des cmos 4021, des tact switches (y en a un qui va me servir à réparer ma souris amiga 500 :D ), des pin headers, des supports pour puces, du fil awg 30, une proto board, ...
J'attends que ça arrive. (Ebay, chine, livraison gratuite à dos d'escargot, toussah)

Il faut que je révise ma pcb snes+, j'ai oublié de mettre des résistances pour la led et je vais mettre un bête pin header pour la connexion vers la console. Pas de détrompeur, c'est plus "risqué", mais ça gagnera de l'espace et ça coûte moins cher d'utiliser un seul type de connecteur.

Puis sinon, comme j'avais un petit soucis avec mon ordi portable (ventilo trop sollicité, il a vieilli prématurément :fleche: boucan infernal. Remplacé pour le prix modique d'un rein >:( ) j'étais donc limité à une tablette et ils n'ont pas encore sorti eagle pour android, me semble.  ;)
Ce que je compte faire maintenant, c'est acheter deux CD4094 (qui font exactement l'inverse des 4021) et brancher une manette snes et des leds via les 4094 sur un msp430.
Comme ça je saurai à la fois lire et générer le signal des manettes SNES (et nes aussi) avec un msp. Par contre, après mûres réflexions, je garderai les CD4021 entre les boutons et le msp, même si j'opte par la suite pour une connexion type 1-wire , ça économise un max de pattes sur la puce!

Voilà voilà, ce sont les dernières nouvelles (tardives) de ce projet.
Titre: [WIP] Un panel 1 joueur en 5 fils (A.K.A. SNES+)
Posté par: KodeIn le Vendredi 08 Juin 2012, 23:07:02 PM
Bonnes nouvelles, les 4021, 4092, microswitches, connecteurs à sertir, etc. sont chez moi, ainsi que les réseaux sil de résistances 10k ohm
Il me manque encore les pin headers qui devraient arriver avec une protoboard (même avec des breadboard, c'est toujours utile, une chtite proto).
Il faudra encore que je commande du fil monobrin, quelques lm1117 et condos pour transformer du 5v en 3.3v.

Suite à la présentation faite par gcc de cette technique de réalisation de circuits, je voulais me fournir un outil de wire wrap (j'ai même pourris le topic de gcc sur son méga jamma switcher avec ça, désolé). Mais les outils abordables n'étant pas adaptés à un usage intensif et l'outil recommandé par gcc revenant à presque 300€... Ben je préfère attendre un peu, le temps de pouvoir mettre de côté  :-\
Entre temps, je compte acheter une pince à sertir de qualité (origine japonaise) pour connecteurs variés à une 60aine d'€. Je pourrai sertir du molex et bien d'autres, c'est toujours utile.
Titre: [WIP] Un panel 1 joueur en 5 fils (A.K.A. SNES+)
Posté par: Little_Rabbit le Lundi 11 Juin 2012, 14:27:20 PM
Salut,

Citation de: KodeIn le Vendredi 08 Juin 2012, 23:07:02 PM
Entre temps, je compte acheter une pince à sertir de qualité (origine japonaise) pour connecteurs variés à une 60aine d'€. Je pourrai sertir du molex et bien d'autres, c'est toujours utile.

Ton modèle m'intéresse, aurais-tu un lien ? Car j'ai plusieurs fois cherché une pince à sertir sur ElecDiff, Conrad et compagnie, et on ne sait jamais laquelle choisir ! La dernière que j'ai acheté ne convient bien sûr pas à l'usage que je lui destinais...

Merci  <:).

A+
Titre: [WIP] Un panel 1 joueur en 5 fils (A.K.A. SNES+)
Posté par: nc333 le Vendredi 14 Septembre 2012, 21:51:37 PM
allez, un petit up!
ton Project m'intéresse mais dans un tout autres but, relier une manette snes a un hack-pad
je voudrais donc savoir si il existe une alternative au MSP430 tout aussi simple mais qui décode le protocole, au lieux de l'encoder  =?=
Titre: [WIP] Un panel 1 joueur en 5 fils (A.K.A. SNES+)
Posté par: Arvester le Lundi 17 Septembre 2012, 20:26:01 PM
Citation de: KodeIn le Vendredi 12 Août 2011, 23:10:06 PM
Merci pour le feedback!
Ça fait plaisir de savoir que c'est fonctionnel, au moins sur SNES.

N'ayant pas de Super Famicom, je vais avoir un peu de mal à chercher une solution.
Ptet pour plus tard... ;)

Je profite du up pour apporter un début de solution (théorique):

La SNES/S.Famicom est une console zonée, non seulement sur le port cartouche (on se souvient du fameux adaptateur AD29 pour lire la majorité des jeux jap/US), mais également sur le port manette. La solution est peut-être dans ces fameux quatre derniers bits qui indiquent d'après toi ce qui est branché à la console !
Titre: [WIP] Un panel 1 joueur en 5 fils (A.K.A. SNES+)
Posté par: speedsterharry le Lundi 17 Septembre 2012, 21:59:24 PM
Citation de: nc333 le Vendredi 14 Septembre 2012, 21:51:37 PM
je voudrais donc savoir si il existe une alternative au MSP430 tout aussi simple mais qui décode le protocole, au lieux de l'encoder  =?=
Ca existe, ca s'appelle le FGWidget Converter, trouvable sur gdlk.co
En entrée: manette PSX/SNES/Saturn et en sortie: éventuellement un hack manette (on peut l'utiliser à d'autres fins, comme un convertisseur PSX/SNES/Saturn vers presque toutes les consoles existantes)
Titre: [WIP] Un panel 1 joueur en 5 fils (A.K.A. SNES+)
Posté par: nc333 le Lundi 17 Septembre 2012, 22:18:30 PM
Citation de: speedsterharry le Lundi 17 Septembre 2012, 21:59:24 PM
Ca existe, ca s'appelle le FGWidget Converter, trouvable sur gdlk.co
En entrée: manette PSX/SNES/Saturn et en sortie: éventuellement un hack manette (on peut l'utiliser à d'autres fins, comme un convertisseur PSX/SNES/Saturn vers presque toutes les consoles existantes)
merci, mais moi je cherchais plus un micro contrôleur qu'une carte!
Titre: [WIP] Un panel 1 joueur en 5 fils (A.K.A. SNES+)
Posté par: KodeIn le Samedi 25 Mai 2013, 23:43:02 PM
Hahaha… bon… la vie a été un peu mouvementée et ça m'a bouffé mon temps. Le déménagement en France, plus précisément à Reims est probablement l'événement qui a le plus chamboulé ma vie (ces 7 deniers mois ont été une folie totale…).
Du coup, l'arcade, l'électronique et bien d'autres choses, ben tout ça a été mis de côté, mais seulement TEMPORAIREMENT! (une bonne grosse année quoi =:)) )

Là, je suis de retour avec de la motiv' (sisi, en plus, je suis de nouveau chômeur lol) et des tonnes de projets dans ma besace. Bien entendu mon projet de panel est toujours d'actualité (il est même prioritaire étant la base pour mes projets en électronique et arcade). Je suis aussi en contact avec un mec en train de tenter de développer une console de jeu (avec des cartouches et tout!) à base de micro-controlleurs. Il est plus calé que moi en électronique et partage en quasi direct toute ses idées et ses tentatives, c'est très très intéressant.
Si il y a encore des gens intéressés, je compte recommencer à poster ici et recommencer à participer à la vie de ce forum.


nc333, je suis un peu en retard pour te répondre; Mais si tu cherches toujours un composant qui transforme le flux en série vers des signaux en parallèle, tu peux tenter de te renseigner sur les composants 4094, et autres de ce genre. Je pense que c'est une bonne piste… mais je ne suis pas électronicien, loin de là! ;)
Titre: [WIP] Un panel 1 joueur en 5 fils (A.K.A. SNES+)
Posté par: nc333 le Dimanche 26 Mai 2013, 11:19:25 AM
Citation de: KodeIn le Samedi 25 Mai 2013, 23:43:02 PM
nc333, je suis un peu en retard pour te répondre; Mais si tu cherches toujours un composant qui transforme le flux en série vers des signaux en parallèle, tu peux tenter de te renseigner sur les composants 4094, et autres de ce genre. Je pense que c'est une bonne piste... mais je ne suis pas électronicien, loin de là! ;)

Je suis encore moins électronicien que toi !

en faite, je me demandais si le 4094 pouvais décoder un 4021

Donc, la Snes ayant 12 boutons, elle as 2 4021, soit 16 bits sérialisé (4 utilisé pour le zonage ou le type de périphérique)


il faudrait donc 2 4094, afin de parallélisé les 16 bits de la manette Snes.

dans ce cas, pas besoins de microcontrôleur ! On a déjà un composant qui fait le boulot nativement.


Mon raisonnement est-t'il bon ?


Ps: le raisonnement est le même pour la Nes, a la différence prêt qu'il faut que une seul pair de codeur/décodeur
Titre: [WIP] Un panel 1 joueur en 5 fils (A.K.A. SNES+)
Posté par: KodeIn le Dimanche 26 Mai 2013, 13:20:20 PM
A priori, je dirais que oui, mais comme je n'ai pas encore eu l'occasion de bidouiller ça... ben dois t'avouer que je ne sais pas exactement comment faire fonctionner tout ça harmonieusement ;)



Ah, oui... J'oubliais! Ayant mis de côté les µcontrolleurs, il va me falloir un petit temps pour me remettre dans le bain. Là, je suis en train de "réviser" tout ça, à priori j'aurai un "décodeur" de NES/SNES (façon quick'n'dirty) à base de MSP430 fonctionnel d'ici le w-e prochain.
Titre: [WIP] Un panel 1 joueur en 5 fils (A.K.A. SNES+)
Posté par: KodeIn le Vendredi 31 Mai 2013, 22:54:12 PM
Bon, il s'avère qu'entre les appels à l'edf (quand on allume le four, le circuit sur lequel il est branché saute) et la recherche active d'emploi sur Reims, je dois vous avouer que j'ai avancé mais pas finalisé. Même en quick & dirty  :(

Par contre, j'ai commandé quelques petits trucs pas chers chez nos amis chinois pour 3 fois rien. Non, mais je déconne pas, le pack de 5 protoboards de 1440 pastilles pour moins de 4€, une pince coupante à moins de 3€ et le pack de 1000 condo céramique (de 1pf à 100nf) pour moins de 8€…
Moins cher que ça, ça devient compliqué! Alors ce ne sont peut-être pas des produits de super qualité, mais à ce prix, je vais pas me plaindre  ;D

Genre si la pince lache après une semaine d'usage, je considérerai que j'en ai eu pour mon argent  :P


Puis comme dit ailleurs, j'ai passé ma journée à réfléchir à comment substituer le système d'interrupteur merdique dans mon mixeur.  Pas de bol, comme j'ai déjà commandé, plus que de raison dans ma situation financière, ça ne sera pas pour tout de suite.
Titre: [WIP] Un panel 1 joueur en 5 fils (A.K.A. SNES+)
Posté par: Solkan le Mercredi 02 Octobre 2013, 23:53:29 PM
Citation de: High_Cobra le Vendredi 12 Août 2011, 22:51:41 PM
J'ai testé ton bricolage l'autre jour, et ne me demande pas pourquoi mais ça n'as pas l'air de marcher sur des S.Famicom, ça marche que sur les S.Nes... Bizarre...
A priori, seul le connecteur et le pinout change entre la SNes et la SuperFamicom :
http://www.gamesx.com/controldata/nessnes.htm

Pour continuer la première partie (réplication des contrôleur nes), il serait peut-être intéressant aussi de regarder l'intérieur des contrôleur spécifiques (gun, paddle, ...)