Adaptateur manette SNES à Genesis/Megadrive
ContenuIntroduction
Si vous avez l'intention de jouer avec une console Genesis/Megadrive mais
préférez fortement les manettes SNES, ou encore si vous possédez plusieurs
manettes de style arcade complètement géniales mais pour SNES, un adaptateur
permettant d'utiliser des manettes SNES sur une console Genesis/Megadrive
est exactement ce qu'il vous faut.
J'ai utilisé un Atmega8 pour fabriquer le projet d'adaptateur présenté sur cette page.
L'optimisation du code pour que le temps de réponse aux requêtes provenant
de la console a été un réel plaisir et défi que j'ai
pris le temps de documenter.
Des adaptateurs déjà construits sont disponibles dans mon magasin:
Voir aussi:
Adaptateur manette SNES à Atari/Commodore
« Mappings » de boutons
Genesis | SNES 1 | SNES 2 | SNES 3 | SNES 4 | SNES 5 | SNES 6 |
---|
Start |
Start |
Start |
Start |
Start |
Start |
Start |
Mode |
Select |
Select |
Select |
Select |
Select |
Select |
A |
A |
B |
Y |
X |
A |
B |
B |
B |
A |
B |
Y |
B |
A |
C |
X |
Y |
A |
B |
X |
R |
X |
Y |
X |
L |
A |
Y |
Y |
Y |
L |
L |
X |
R |
L |
X |
Z |
R |
R |
R |
L |
R |
L |
D-Up |
D-Up |
D-Up |
D-Up |
D-Up |
D-Down |
D-Up |
D-down |
D-down |
D-down |
D-down |
D-down |
D-up |
D-down |
D-left |
D-left |
D-left |
D-left |
D-left |
D-right |
D-left |
D-right |
D-right |
D-right |
D-right |
D-right |
D-left |
D-right |
Activation d'un « mapping »:
Les équivalences de boutons sont choisies en gardant appuyé certains boutons de la manette SNES lors du branchement de l'adaptateur ou de la mise sous tension de la console.
«Mapping» | Activation |
SNES 1 | Default |
SNES 2 | Maintenir B |
SNES 3 | Maintenir Y |
SNES 4 | Maintenir X |
SNES 5 | Maintenir L |
SNES 6 | Maintenir R |
Note: Le « mapping » SNES 6 n'est pas encore disponible.
Câblage
Pour ce projet, je me suis servi d'une version simplifiée de mon circuit
multiuse pcb2. Les seules composantes présentent sont le micro-contrôleur, les condensateurs et un cristal de 16 MHz.
Voici le schéma:
Câblage:
Voici maintenant des tableaux pour le câblage du connecteur pour la console Genesis/Megadrive (DB9-F) et pour la manette SNES:
Broche DB9 | Nom du signal | Nom de broche AVR |
1 | UP/UP/Z | PC5 |
2 | DN/DN/Y | PC4 |
3 | 0/LF/X | PC3 |
4 | 0/RT/ | PC2 |
5 | VCC | VCC |
6 | A/B | PC1 |
7 | SELECT | PD2 (INT0) |
8 | GND | GND |
9 | START/C | PC0 |
Signal SNES | Nom de broche AVR |
VCC | VCC |
GND | GND |
CLOCK | PB5 |
DATA | PB4 |
LATCH | PB3 |
Voici quelques photos de mon montage pour le développement, câblé d'après
le schéma et la tableaux ci-dessus. Notez comment le connecteur DB9-F
ne s'installe pas parfaitement. Idéalement, il faudrait se servir d'un
câble récupéré sur une manette ou encore d'une
extension.
Logiciel
Attention: Les adaptateurs SNES à Megadrive/Genesis et
SNES à Atari/Commodore partagent le code ci-dessous mais exigent un câblage différent. Ne jamais utiliser un adaptateur contruit pour Genesis/Megadrive sur un système Commodore ou Atari.
Version v1.6 26 octobre 2019 (Samedi) |
---|
- Nouveau mapping (SNES 6 - Enfoncez R)
|
Fichier(s): snes2md-1.6.tar.gz (21.4 KB)
snes2md.m168.1.6.hex (6.2 KB)
snes2md.m8.1.6.hex (6 KB)
|
Version v1.5.1 22 octobre 2016 (Samedi) |
---|
|
Fichier(s): snes2md-1.5.1.tar.gz (21.3 KB)
snes2md.m168.1.5.1.hex (6 KB)
snes2md.m8.1.5.1.hex (5.8 KB)
|
Version v1.4 26 juillet 2014 (Samedi) |
---|
- L'adaptateur est maintenant compatible avec les jeux SMS tournant sur Megadrive/Genesis
|
Fichier(s): snes2md-1.4.tar.gz (20.6 KB)
snes2md-1.4.hex (5.8 KB)
|
Version v1.3 23 juin 2014 (Lundi) |
---|
- Ajout d'un mode 3 boutons. Maintenir SELECT à la mise sous tension pour l'activer.
|
Fichier(s): snes2md-1.3.tar.gz (20.5 KB)
snes2md-1.3.hex (5.4 KB)
|
Version v1.2 29 octobre 2013 (Mardi) |
---|
Nouvelles fonctionnalités:- Deux nouveaux « mappings » pour Genesis
- Un nouveau « mapping » pour Atari/Commodore
- Support d'un deuxième bouton (Amiga)
- Mode de tir rapide pour la version Atari/commodore (Bouton 1/Feu)
- Vitesses de tir: 30Hz, 25Hz, 20Hz, 16.667Hz, 15Hz and 12.5Hz
- Tir rapide en continu activé/déactivé par le bouton START.
|
Fichier(s): snes2md-1.2.tar.gz (19.8 KB)
snes2md-1.2.hex (5.3 KB)
|
Version v1.1.1 20 octobre 2013 (Dimanche) |
---|
Mise à jour des équivalences de bouton Atari. |
Fichier(s): snes2md-1.1.1.tar.gz (18.7 KB)
snes2md-1.1.1.hex (3.4 KB)
|
Version v1.1 8 octobre 2013 (Mardi) |
---|
Implémentation du support Atari/Commodore:- Deux «mappings» de boutons
- Mode Atari activé en reliant PB1 à GND. Note: Le câblage du DB9 diffère légèrement.
|
Fichier(s): snes2md-1.1.tar.gz (18.6 KB)
snes2md-1.1.hex (3.4 KB)
|
Version v1.0 14 septembre 2013 (Samedi) |
---|
Première publication:- Émulation de manette Genesis/Megadrive à 6 boutons
- Choix de 3 différents « mappings » au démarrage
|
Fichier(s): snes2md-1.0.tar.gz (18.1 KB)
snes2md-1.0.hex (2.8 KB)
|
Ce projet est aussi disponible sur GitHub!Pour suggérer de nouvelles fonctionnalités, signaler un problème ou contribuer au projet,
vous pouvez
m'écrire ou utiliser le dépôt GitHub:
https://github.com/raphnet/snes2md
Utilisation des fichiers .hex
Les fichiers .hex sont pour programmer l'AVR. Les "fuses bytes" pour ce projet
sont:
- Atmega8: high_byte=0xc9, low_byte=0x9f.
- Atmega168: high_byte=0xdc, low_byte=0xd7, extended_byte=0x01
Code source (fichiers .tar.gz):
À moins d'indications contraires, le code source est rendu publique sous la
licence GPL. Consulter le fichier LICENSE inclus dans le .tar.gz pour plus d'informations.
Le projet se compile avec avr-gcc sous Linux.
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.
Veuillez
également m'indiquer si vous souhaitez que j'affiche votre nom/alias et pays. Par défaut
je ne mentionnerai que votre prénom.
6 janvier 2015 (Mardi)Roman Sysoev de Russie m'a envoyé ces quelques photos du prototype et de la version finale sur PCB (boîtier toujours manquant) de l'adaptateur SNES à Genesis/Megadrive qu'il s'est construit.
Références
Le document suivant a été utile pour la réalisation de ce projet:
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.