4 manettes NES et/ou 4 SNES à USB
Ré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.
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)
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:
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)
Retour en haut
Logiciel
| Fichier(s) | Date | Description |
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
- 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.
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)
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
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.
Retour en haut