Cette page contient l'information nécessaire pour fabriquer un adaptateur
ou convertir une manette TurboGrafx-16/PC-Engine à USB. Ce projet a beaucoup
en commun avec les projets
Adaptateur Atari/SMS/Genesis/Multi-tap Genesis à USB
et Manette SNES/NES (et souris SNES) à USB. Le
logiciel du micro-contrôleur commun à ces projets supprote les manettes TurboGrafx-16/PC-Engine
depuis la version 1.7.
Caractéristiques:
Supporte les manettes avec prises DIN et Mini-DIN.
La fonction "Turbo" à deux vitesses fonctionne.
Pas de pilotes spéciaux requis. L'adaptateur respecte le standard USB HID.
Photos
Exemple d'adaptateur construit avec le circuit montage en surface et un connecteur DIN en ligne:
Schema
Voici le schéma et quelques photos de connecteurs (DINs à gauche, MINI-DINs à droite) pour clarifier: Liste des composantes:
Ref
Description
U2
Un micro-contrôleur ATmega8. ATMEGA8-16PC, ATMEGA8-16PI, ATMEGA8-16PJ ou ATMEGA8-16PU. Ne pas utiliser un ATMEGA8L-*, car l'horloge de 12Mhz dépasserait la limite.
R1
Résistance de 1.5k. Ordinaire au carbone 1/4 watt.
R2, R3
Résistance de 68 ohms. Ordinaire au carbone 1/4 watt.
D2, D3
Diodes Zener de 3.6 volts.
Y1
Crystal de 12 mhz
C2, C3
Condensateurs de 18 pf. Si votre cristal recommande une autre valeur, utilisez la.
C1
Condensateur de 1 uf. Installer près du ATmega8.
J2
Connecteur 2x3 (6 broches), espacement 2.54mm. Pour la programmation du ATmega8.
Pour la connection USB, simplement dénuder un cable USB et souder les fils directement sur le circuit.
USB utilise des couleurs de fils standardisés, mais faites attention, il y a parfois des exceptions.
Couleur
Description
Rouge
+5 volts
Noir
Ground
Vert
D+
Blanc
D-
Programmation
Les microcontroleurs sont des composantes qui doivent être programmés pour
qu'elles fassent quelque chose d'utile. Voici donc le fichier .hex qu'il faut programmer
dans le microcontroleur:
Plusieurs micro-contrôleurs possèdent ce qu'on appelle 'Fuse bytes'. Dans le cas
du ATmega8, il y en a deux: Le 'high byte' et le 'low byte'. Ces deux octets servent à
configurer certains paramètres du microcontroleur. Quel type d'horloge? Crystal?
Résonateur? Oscillateur RC interne? Permettre la programmation par ISP? Il est très
important de configurer les fuse bytes avec les bonnes valeurs. L'utilisation de mauvaises valeurs
peut rendre le micro-contrôleur inutilisable.
Pour ce projet, voici les bonnes valeurs:
high byte = 0xc9, low byte = 0x9f
Pour de l'information sur la programmation d'un AVR,
visitez ma page sur la programmation
d'AVR
Pour ceux qui aimeraient modifier le comportement de l'adaptateur
ou supporter d'autres types de manettes, voici le code source. Depuis la
version 1.5, le code est publié sous la license GPLv2. Les version
antérieures était sous la license d'Objective Development, qui est en
fait GPL avec quelques extensions pour couvrir le matériel
(le circuit). Voir le fichier License.txt pour plus d'information.
Contactez moi à l'addresse
raph@raphnet.net
si vous faites des modifications intéressantes.
Combinaison Vendor ID/Product ID USB:
Veuillez ne pas réutiliser ma combinaison VID/PID pour des projets dérivés
ou autres. Obtenez-en un vous-même (ou inventez-en un à vos risques). J'ai acheté les miens chez
mecanique, et ça coute beaucoup
moins cher que de devenir membre du forum des implémenteurs USB (2000$ US)...
Circuit imprimé
Une partie de ce projet peut être réalisé en montage en surface à l'aide
de mon circuit Multiuse PCB2. Voici
une photo de ce circuit:
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.