4 manettes NES et/ou 4 SNES à USB



Résumé du projet

Utilisation de deux manettes NES et deux manettes SNES simultanément

Utilisation de deux manettes NES et deux manettes SNES simultanément

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.

Principalement, c'est un logiciel différent qu'il faut programmer dans l'Atmega8. Ce logiciel détecte de quel type de manettes il s'agit automatiquement. Il possible de combiner des manetes de NES et SNES jusqu'à un total de quatre manettes.

Nouveau! La version 1.3 supporte maintenant le multitap pour SNES (Testé avec Naki Tribal Tap seulement)


goto top Retour en haut


Photos

Exemple 1: Circuit pour quatre manettes SNES:

Je travaille présentement sur un adaptateur pour quatre manettes SNES. Le boîtier n'est pas encore prêt mais il fonctionne tout de même très bien. Les connecteurs SNES sont disponibles dans mon magasin.



Exemple 2: Adaptateur NES FourScore:



Exemple 3: 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 4: 2 Manettes NES et 2 manettes SNES:

Prises de manettes SNES provenant d'une console

Prises de manettes SNES provenant d'une console

Prises de manettes NES provenant d'une console

Prises de manettes NES provenant d'une console

Le boîtier est celui d'un vieux NetModem beaucoup trop lent pour m'intéresser...

Le boîtier est celui d'un vieux NetModem beaucoup trop lent pour m'intéresser...

Ça semble bien comme cela.

Ça semble bien comme cela.

Un coup les contours tracés...

Un coup les contours tracés...


...on se débrouille pour les découper.

...on se débrouille pour les découper.

Voila, c'est fait.

Voila, c'est fait.

Je m'arrange pour que tout reste en place.

Je m'arrange pour que tout reste en place.

Il me restait de l'adhésif de contruction suite à des rénovations... Pas de gaspillage!

Il me restait de l'adhésif de contruction suite à des rénovations... Pas de gaspillage!

Bon, attendons que ça sèche.

Bon, attendons que ça sèche.


Vue du câblage 1

Vue du câblage 1

Vue du câblage 2

Vue du câblage 2

Résultat final 1

Résultat final 1

Résultat final 2

Résultat final 2

Résultat final en action

Résultat final en action


Saisie d'écran winXP

Saisie d'écran winXP


goto top Retour en haut


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


goto top Retour en haut


Logiciel

Fichier(s)DateDescription
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)
26 Avril 2013
  • 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.
4nes4snes-1.4.tar.gz (84.5 KB)
4nes4snes-m168-1.4.hex (10.8 KB)
4nes4snes-m8-1.4.hex (10.5 KB)
24 Avril 2013
  • 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.
4nes4snes-1.3.tar.gz (83.8 KB)
4nes4snes-1.3.hex (11 KB)
14 Avril 2012 Adaptateur multijoueurs pour SNES maintenant supporté (mode 4 joueurs). Uniquement testé avec le Tribal Tap de Naki
4nes4snes-1.2.tar.gz (92.5 KB)
4nes4snes-1.2.hex (10.1 KB)
2 Mai 2009
  • 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
4nes4snes-1.1.tar.gz (70.2 KB)
4nes4snes-1.1.hex (8.7 KB)
18 Avril 2007 Première version publique. Utilisait la license Objective Developement (GPL modifiée). Voir License.txt pour plus de détails.
Utilisation des fichiers .hex

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.

goto top Retour en haut


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.

Steve et Andi, d'Autriche, m'ont fait parvenir ces photos:



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:


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 crystal et deux condensateurs séparés. Il m'a aussi donné un plan mis à jour pour le résonateur ci-bas.


Gunther Baumgartner, d'Allemagne, a installé le circuit à l'intérieur d'un NES Four Score:


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:

(Photos reçues le 31 mai 2008)

Craig O'Connor m'a fait parvenir les photos suivantes:

(Reçues le 4 Octobre 2008)

Tim Wylie a fabriqué cet adaptateur pour 4 manettes (2 Snes et 2 NES) en utilisant le circuit pré-assemblé:

(Photo reçue le 17 Juin 2009)

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.
(Photos reçues le 25 Juin 2009)

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.

(Reçues le 14 août 2011)

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
(Reçu le 9 Janvier 2013)

goto top Retour en haut


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

goto top Retour en haut


Avertissement

Je ne saurais être tenu responsable pour les dommages que la mise en œuvre des instructions présentées sur cette page pourraient causer à votre équipement ou à vous-même. Aussi, je ne donne aucune garantie quant à l'exactitude des informations et à leur fonctionnement. Notez toutefois que les procédures ci-haut ont fonctionnées sans aucun problème pour moi.

goto top Retour en haut


Je ne suis d'aucune façon affilié avec Nintendo. Les marques de commerce appartiennent à leurs propriétaire(s) respectif(s).
Copyright © 2002-2013, Raphaël Assénat
Site codé avecSite codé avec vimDernière mise à jour: 24 Avril 2013