4 manettes NES et/ou 4 SNES à USB
ContenuRésumé du projet
Suite à mon projet permettant de convertir une manette de NES ou
SNES à USB, lequel est disponible à l'addresse
http://www.raphnet.net/electronique/snes_nes_usb/index.php,
je me suis fait demander s'il serait possible d'en faire une version
supportant plusieurs manettes. J'ai finalement trouvé le temps
de le faire et la page présente est pour expliquer comment
y arriver. Étant donné que ceci n'est qu'une variation du
projet initial, je ne donnerai pas trop de détails. Référez vous
à la page du projet d'origine si nécéssaire.
La différence principale est le logiciel qu'il faut programmer dans
l'Atmega8. Ce logiciel détecte le type de chaque manette raccordée
et permet de combiner des manetes de NES et SNES jusqu'à un
total de quatre.
Nouveau! Les boutons NES ont été changés dans la version 1.5, et l'ensemble fonctionne donc mieux avec RetroPie. (Voir
boutons)
Photos
Exemple 1: AcrylicSNES:
Ayant mis la main sur des connecteurs SNES
(
disponibles dans mon magasin),
j'ai créé un circuit imprimé pour les recevoir et tenté de réaliser
un boîtier intéressant. J'ai baptisé le projet
AcrylicSNES
par référence au matériau dont la surface supérieure est faite.
Exemple 2: AnodeSNES:
Boîtier en aluminium machiné au fini anodizé noir pour un adaptateur 4x SNES à USB.
Pour plus d'information, voir la
page du projet AnodeSNES.
Exemple 3: Adaptateur NES FourScore:
Exemple 4: Multitap SNES à USB:
Seulement testé avec le "Tribal Tap" de Naki tel qu'illustré. Fonctionne avec un maximum
de 4 manettes. Le 5ième port, bien que présent, n'est pas réellement utilisable et semble
en fait
être une fraude!
Exemple 5: 2 Manettes NES et 2 manettes SNES:
Schéma
Voici le schéma et une référence de 'pinout' pour les connecteurs
NES et SNES:
Notes et commentaires:
Toutes les manettes partagent la même alimentation ainsi que les signaux
Clock et
Latch.
Par contre, le signal
Data provenant de chaque manette doit être relié à une
entrée unique sur le microcontroleur. Il est possible d'utiliser un
résonateur de céramique en remplacement du cristal et des deux condensateurs. Voir
le shéma d'Andrew Biem dans la section
photos provenant des utilisateurs.
Circuit imprimé:
Vous pouvez utiliser le circuit imprimé du projet initial:
http://www.raphnet.net/electronique/snes_nes_usb/index.php#pcb
Voici un schéma de cablage pour le circuit imprimé version C:
Utilisation du PCB multiuse pcb2:
Le circuit
multiuse PCB2 est également une excellente
plateforme pour ce projet. Voici des schémas de câblage applicables à ce circuit:
Support du multitap pour SNES (4 joueurs)
À partir de la version 1.3 du logiciel, le multitap pour SNES est supporté. Ce périphérique
permet la lecture de 4 manettes avec seulement 2 entrées grace à un multiplexeur
contrôlé par le signal 'SELECT'. Après avoir capturé l'état des boutons sur les
4 manettes simultanément via le signal 'LATCH', une lecture des manettes 1 et 2 est
effectuée, et répétée en changant 'SELECT' pour lire les manettes 3 et 4.
Voici le 'pinout' du multitap et des indications pour le branchement à ce circuit (le nom
des broches d'ES du Atmega8 y figurent)
Logiciel
Version v1.5 5 juin 2016 (Dimanche) |
---|
- Les boutons NES correspondent dorénavant aux mêmes boutons USB qu'une manette SNES (eg: NES A = SNES A).
- Changement du nom du produit (ajoute la version)
|
Fichier(s): 4nes4snes-1.5.tar.gz (84.8 KB)
4nes4snes-m168-1.5.hex (10.6 KB)
4nes4snes-m8-1.5.hex (10.3 KB)
|
Version v1.4.3 23 août 2014 (Samedi) |
---|
- Correctifs pour la compilation avec une version moderne de GCC.
|
Fichier(s): 4nes4snes-1.4.3.tar.gz (84.8 KB)
4nes4snes-m168-1.4.3.hex (10.3 KB)
4nes4snes-m8-1.4.3.hex (10 KB)
|
Version v1.4.2 14 juillet 2013 (Dimanche) |
---|
Changement mineur: - Correction du numéro de vendeur USB.
|
Fichier(s): 4nes4snes-1.4.2.tar.gz (84.7 KB)
4nes4snes-m168-1.4.2.hex (10.7 KB)
4nes4snes-m8-1.4.2.hex (10.4 KB)
|
Version v1.4.1 26 avril 2013 (Vendredi) |
---|
- La consommation déclarée a été réduite de 120mA à 100mA. Cela permet d'utiliser l'adaptateur sur le port de mon clavier USB tout en demeurant un estimé conservateur de la pire combinaison d'hypothétiques manettes non-standard qui seraient très energivores.
|
Fichier(s): 4nes4snes-1.4.1.tar.gz (84.7 KB)
4nes4snes-m168-1.4.1.hex (10.7 KB)
4nes4snes-m8-1.4.1.hex (10.4 KB)
|
Version v1.4 24 avril 2013 (Mercredi) |
---|
- Support du Atmega168 (et compatibles). Utilisez Makefile.atmega168
- Simplification de la boucle principale par le retrait du support des requêtes setIdle/getIdle, optionnelles selon la norme USB HID, section G.
|
Fichier(s): 4nes4snes-1.4.tar.gz (84.5 KB)
4nes4snes-m168-1.4.hex (10.8 KB)
4nes4snes-m8-1.4.hex (10.5 KB)
|
Version v1.3 14 avril 2012 (Samedi) |
---|
Adaptateur multijoueurs pour SNES maintenant supporté (mode 4 joueurs). Uniquement testé avec le Tribal Tap de Naki |
Fichier(s): 4nes4snes-1.3.tar.gz (83.8 KB)
4nes4snes-1.3.hex (11 KB)
|
Version v1.2 2 mai 2009 (Samedi) |
---|
- Le type de manette (NES ou SNES) est maintenant auto-détecté en temps réel. Il n'est donc plus nécessaire de rebrancher le câble USB lorsqu'on change de manette.
- Le NES FourScore est maintenant supporté. Il est détecté au démarrage seulement et doit être branché au ports 1 et 2.
- Code source maintenant sous License GPL 2
|
Fichier(s): 4nes4snes-1.2.tar.gz (92.5 KB)
4nes4snes-1.2.hex (10.1 KB)
|
Version v1.1 18 avril 2007 (Mercredi) |
---|
Première version publique. Utilisait la license Objective Developement (GPL modifiée). Voir License.txt pour plus de détails. |
Fichier(s): 4nes4snes-1.1.tar.gz (70.2 KB)
4nes4snes-1.1.hex (8.7 KB)
|
Utilisation des fichiers .hex
- Atmega8: Les fichiers *-m8-*.hex ou les .hex avant la version 1.4 sont pour programmer un Atmega8. Les "fuses bytes" pour l'atmega8 sont:
high_byte=0xc9 low_byte=0x9f.
- Atemga168: Les fichiers *-m168-*.hex sont pour programmer un Atmega168. Les "fuses bytes" pour l'atemga168 sont: high=0xd5, low=0xdf, extended=0x01
Pour de l'information sur la programmation d'un AVR, visitez ma page sur la
programmation d'AVR
Code source (fichiers .tar.gz):
À moins d'indications contraires, le code source est rendu publique sous la
license GPL v2. Consulter License.txt pour plus d'informations.
Le projet se compile avec avr-gcc.
Boutons
Depuis la version 1.5, les boutons NES ont été modifiés afin qu'ils corresponent aux boutons du même nom
sur la manette SNES. Ainsi, il est possible de changer de type de manette sans avoir à reconfigurer.
Excellent pour RetroPie...
USB | Bouton SNES | Bouton NES (avant v1.5) | Bouton NES (depuis v1.5) |
0 | B | | B |
1 | Y | | |
2 | SELECT | | SELECT |
3 | START | | START |
4 | A | START | A |
5 | X | SELECT | |
6 | L | A | |
7 | R | B | |
Note: Les boutons USB sont comptés à partir de zéro. Si vous êtes sous windows, vous devrez additionner 1 aux numéros du tableau ci-dessus.
Photos provenant des utilisateurs
J'aime bien voir comment les autres s'y prennent pour assembler mes projets. Vous
pouvez me faire parvenir des photos de vos montages et je les afficherai ici.
26 août 2017 (Samedi)Robson Couto a contruit cet adaptateur pour deux manettes SNES. Il présente aussi sur son
blog une version modifiée de mon projet afin de tourner sur une carte USBASP (normalement un programmeur d'AVR).
10 juillet 2016 (Dimanche)Sebastian a installé un Raspberry Pi dans un boîtier de NES et s'est servi du circuit 4nes4snes pour les manettes.
26 décembre 2014 (Vendredi)Michael Bazzinotti (Bazz) a fabriqué un boîtier en acrylique pour aller avec mon circuit imprimé et
couvercle. Plus d'information sur le projet et sur la conception du boîtier sont disponibles
sur sa page web.
14 novembre 2014 (Vendredi)Eduard a fabriqué un adaptateur pour deux manettes NES en utilisant les connecteurs d'une console:
29 janvier 2014 (Mercredi)Josafá Siqueira du Brésil m'a envoyé ces photos d'un adaptateurs 3 joueurs qu'il a fabriqué
25 janvier 2014 (Samedi)Ákos m'envoi cette photo d'un multitap Hudson soft qu'il a converti à USB en utilisant ce circuit. Aucune modifications au multitap n'a été nécessaire. Il a simplement suffit de débrancher le câble d'origine par un autre se rendant au circuit. Cela confirme que le support pour multitap présent depuis la version 1.3 du logiciel fonctionne avec d'autre chose que le multitap Naki Tribal Tap.
7 janvier 2014 (Mardi)Daniel Baer m'envoie les photos suivantes d'un adaptateur qu'il a construit pour mettre dans un des espaces à périphérique 5 1/4" de son PC. Le câble USB se raccorde directement à l'une des barettes USB mâle de sa carte mère ASUS. Sa femme et lui s'amusent maintenant avec Dr. Mario sous Arch Linux avec l'émulateur Higan.
3 mai 2013 (Vendredi)Pascal et Nicolas Roux m'envoient ces photos d'une réalisation ingénieuse des connecteurs inspirée de celle de Declan Williams (plus haut) et expliquent:
« On a pris deux plaques de plastique, que l'on a collées temporairement (avec du scotch double face) pour les percer. On les a ensuite séparées pour insérer les connecteurs (déjà soudés à un fil, car si l'on soude une fois en place, cela fait fondre le plastique). Pour finir, on a préparé et fixé les protections autour des connecteurs (cf. tête de vis) puis soudé les fils au circuit avant de le protéger dans une coque en bois. »
9 janvier 2013 (Mercredi)Alex (
voir son blog) a créé une version "through-hole" du circuit imprimé et a partagé les fichiers sources du schéma et circuit en format Eagle:
Eagle schematic: V-USB_4SNES_Mame_Panel_Atmega8.sch
Eagle pcb: V-USB_4SNES_Mame_Panel_Atmega8.brd
14 août 2011 (Dimanche)Thomas Lapauw a contruit un adaptateur pour deux manettes SNES. Notez qu'il a aussi ajouté un LED indiquant que l'adaptateur est sous tension.
25 juin 2009 (Jeudi)Jeff Erbrecht a installé le circuit à l'intérieur d'un Multitap pour SNES. Il a dû retirer des pièces du circuit d'origine car elles causaient un conflit:
17 juin 2008 (Mardi)Tim Wylie a fabriqué cet adaptateur pour 4 manettes (2 Snes et 2 NES) en utilisant le circuit pré-assemblé:
4 octobre 2008 (Samedi)Craig O'Connor m'a fait parvenir les photos suivantes:
31 mai 2008 (Samedi)Lucas Romero, d'Allemagne, a construit ce projet qu'il a baptisé « RetroBox ». En plus du circuit pour quatre manettes présenté sur cette page, il a ajouté un concentrateur USB interne avec une clef USB de 2GB contenant ses roms SNES et MAME préférés, ce qui lui permet de toujours les avoir avec lui:
Gunther Baumgartner, d'Allemagne, a installé le circuit à l'intérieur d'un NES Four Score
Andrew Biem, de Whidbey Island, situé dans l'état de Washington aux États-unis m'a transmis les photos suivantes. Remarquez qu'il utilise un résonateur de céramique plutôt qu'un cristal et deux condensateurs séparés. Il m'a aussi donné un plan mis à jour pour le résonateur ci-bas.
Declan Williams, d'Australie, 16 ans, m'a fait parvenir ces photos. Notez l'ingénieuse manière dont il s'y prend pour fabriquer ses propres prises SNES:
Steve et Andi, d'Autriche, m'ont fait parvenir ces photos:
Références
Cette page contiens de la documentation sur le 'protocole' des manettes Snes:
Sci.Electronics FAQ: Super Nintendo Entertainment System: pinouts & protocol
J'utilise le driver USB d'Objective Development. Pour plus d'informations, visitez leur site:
http://www.obdev.at/products/avrusb/index.html
Ceci m'a aidé à comprendre comment Windows interprète le 'report descriptor' et pourquoi
certains axes n'étaient pas fonctionnels sous Windows 98:
http://www.microsoft.com/whdc/device/input/hidgame.mspx
Avertissement
Je ne saurais être tenu responsable pour les dommages
que l'utilisation des informations ou la mise en œuvre des instructions présentées
sur cette page pourrait causer à votre équipement,
à vous-même ou à autrui. Aussi, je ne donne aucune garantie quant
à l'exactitude des informations et à leur fonctionnement.