On me l'a demandé plusieurs fois et bien que j'avais hâte de m'y mettre en raison du défi, il m'a fallu du temps pour commencer car
j'avais plusieurs autres projets, tous aussi intéressants. Mais c'est à présent chose faite. L'adaptateur fonctionne.
Je vous invite à lire le journal du projet
si les détails techniques du chemin pour arriver au résultat final vous intéressent.
Caractéristiques:
Support des manettes Dreamcast standard. (Testé avec HKT-7700 et Performance P-20-007)
Support des claviers pour Dreamcast. (Testé avec les modèles HKT-4000, HKT-7600 et HKT-7631)
Interface USB HID standard. (Testé sous Linux et Win7)
Fonctionne bien avec l'émulateur nulldc.
Les manettes des style arcade devraient aussi fonctionner. (Pas testé)
Support incomplet (roulette non fonctionelle) de la souris. (Testé avec HKT-4200)
Un jour, j'ajouterai peut-être le support pour le kit de vibration. Les cartes mémoires ne seront jamais supportés par ce design.
Quelques articles basés sur ce projet sont disponibles dans mon magasin:
[1]: Le support de la souris est partiel (la roulette ne fonctionne pas).
Schéma
La manette Dremcast est alimentée directement par le 5 volt provenant d'USB. Il y faut un
régulateur de 3.3v pour alimenter le micro-contrôleur car celui-ci communique avec la manette
et la communication est faite sous 3.3v. Ce montage simple utilise un Atmega168
cadencé à 16MHz, ce qui dépasse un peu la limite à cette tension (environ 13MHz) mais
ne semble pas causer de problèmes. Je ferai peut-être un jour une version plus compliquée
avec des convertisseurs de niveaux logiques qui permettront d'éviter cette pratique.
Voici une vue des deux types de connecteurs (côté console et côté périphérique)
avec les numéros de broche indiqués.
Aussi, puisque mon circuit multiuse PCB2 se
prête bien à ce projet, voici un diagramme de câblage l'utilisant.
Notez que le circuit doit être assemblé avec un régulateur de 3.3v. Des résistances
(ou ponts de soudure) doivent être installées de sorte que le micro-contrôleur
soit alimenté à 3.3v.
Logiciel
Version v1.2 23 novembre 2013 (Samedi)
Nouvelles fonctionnalités:
Support du clavier (Testé: HKT-7600 et HKT-4000)
Fréquence d'interrogation augmentée pour un meilleur temps de réponse
Affichage d'une image sur le LCD du VMU. Note: L'image est «hardcodée». L'écran n'est pas utilisable via USB)
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/dreamcast_usb
Utilisation des fichiers .hex
Les fichiers .hex sont pour programmer l'Atmega168a. Les "fuses bytes" pour ce projet
sont: extended_fuse=0x01, high_fuse=0xd5, low_fuse=0xd7.
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.
Utilisation
J'ai pensé que l'adaptatateur serait probablement beaucoup utilisé avec l'émulateur
de Dreamcast nulldc. Je me suis donc
assuré que tout fonctionnerait bien. Voici un exemple de configuration:
Démarrez nulldc et allez dans Options-> Maple->Port A. Attachez ensuite
le plugin «PuruPuru Dreamcast Controller» au port en question.
Options-> Maple->Port A-> Attach...
Ensuite, naviguez à nouveau au même endroit et exécutez la configuration avec
«Config keys for Player 1».
Options-> Maple->Port A-> Config...
Enfin, dans la fenêtre de configuration qui se sera alors ouverte, configurez
les axes et les boutons. Notez que j'ai configuré l'option «deadzone» au minimum
(1%) car c'est ainsi que le jeu m'a semblé répondre comme sur une vraie console.
Plugin configuration
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. 1 février 2014 (Samedi) Phil a réalisé cette conversion de manette à USB vraiment très proprement. Il écrit: « Je n'ai pas construit d'adaptateur, mais j'ai modifié une manette Dreamcast en utilisant TOUTES les pièces de la manette, incluant le câble mais modifié pour USB. Cela fonctionne bien! ». Il ajoute: « J'ai dû rallonger les fils, couper du plastique avec une lame de razoir afin de faire de l'espace pour le connecteur USB et j'ai fabriqué un petit couvercle noir pour la prise à partir d'un boîtier de DVD qui ne servait pas ».
7 janvier 2020 (Mardi) Quelqu'un en chine a utilisé un circuit atmega168 mini avec succès pour fabriquer un adaptateur.
Références
Les documents suivants ont été d'une grande utilité pour la réalisation de ce projet:
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.