Adaptateur manette Dreamcast à USB



Introduction

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:
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:


goto top Retour en haut


Photos

Mon montage pour le développement

Mon montage pour le développement

Adaptateur fini

Adaptateur fini

Manette testée: HKT-7700

Manette testée: HKT-7700

Souris testée <sup>[1]</sup> : HKT-4200

Souris testée [1] : HKT-4200


Manette sous win7

Manette sous win7

Manette sous win7

Manette sous win7

Souris sous win7

Souris sous win7

Manette Performance P-20-007

Manette Performance P-20-007

Clavier testé: HKT-4000

Clavier testé: HKT-4000

Clavier testé: HKT-7600

Clavier testé: HKT-7600

Clavier sous Win7

Clavier sous Win7

Clavier sous Win7

Clavier sous Win7



[1]: Le support de la souris est partiel (la roulette ne fonctionne pas).

goto top Retour en haut


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.

goto top Retour en haut


Logiciel

Fichier(s)DateDescription
dreamcast_usb-1.2.tar.gz (111.1 KB)
dc_usb-1.2.hex (22.7 KB)
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)
dreamcast_usb-1.1.1.tar.gz (106.3 KB)
dc_usb-1.1.1.hex (18.1 KB)
2 Novembre 2013 (Samedi) Augmentation du délai d'attente de réponse. Permet à la manette Performance P-20-007 de fonctionner.
dreamcast_usb-1.1.tar.gz (106.2 KB)
dc_usb-1.1.hex (18.1 KB)
27 Octobre 2013 (Dimanche) Première publication:
  • Support des manettes standard.
  • Support de la souris incomplet (roulette non fonctionelle).
Ce projet est aussi disponible sur GitHub!
Pour suggérer de nouvelles fonctionalités, rapporter 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.

goto top Retour en haut


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...

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...

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

Plugin configuration



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. 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 ».



goto top Retour en haut


Références

Les documents suivants ont été d'une grande utilité pour la réalisation de ce projet:

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 pourrait causer à votre équipement, à vous-même ou à autrui. Aussi, je ne donne aucune garantie quant à l'exactitude des informations et à leur fonctionnement. Notez toutefois que les procédures ci-haut ont fonctionné sans aucun problème pour moi.

goto top Retour en haut


Les marques de commerce utilisées dans ce site appartiennent à leurs propriétaires respectifs.
Copyright © 2002-2017, Raphaël Assénat
Site codé avecSite codé avec vimDernière mise à jour: 14 Octobre 2016 (Vendredi)