Fabriquer un paddle pour SMS/MarkIII
ContenuLe projet
J'ai récemment acheté le jeu
Galactic Protector pour ma SMS japonaise sans
savoir qu'un Paddle était requis pour y jouer. Il s'agit du Paddle HPD-200 pour
Sega Master Système qui n'a été vendu qu'au Japon à l'époque. Aujourd'hui
il est vendu sur un site populaire d'enchères à un prix franchement trop élevé
alors j'ai décidé de m'en construire un.
Caractéristiques:
- Comportement équivalent au paddle HPD-200 de Sega
- Compatible avec les systèmes SMS japonais et Sega Mark III
- Compatible avec les systèmes non-japonais[1]
- Mode spécial paddle international[2]
- Circuit simple
[1] Certains jeux japonais supportant le Paddle, si utilisés
sur un système SMS ou console Genesis/Megadive via un adaptateur (
comme le mien),
détectent qu'il s'agit d'une console non-japonaise et s'attendent alors à ce qu'un paddle international soit branché. Comme
son fonctionnement est différent, le paddle japonais (HPD-200) ne fonctionne alors pas.
[2] Bien que le paddle international n'ait jamais été vendu par Sega,
certains jeux comprennent pourtant du code pour le supporter. Comme ce n'était pas
très difficile à faire, j'ai aussi implémenté un mode international.
Photos
J'aurais pu simplement percer deux trous dans une planche de bois et y
installer le potentiomètre avec un bouton. Mais puisque j'ai une imprimante
3D, je me suis amusé à faire un boîtier un peu plus élaboré.
Résultat final:
L'assemblage:
Le concept:
Voici les fichiers .STL qui peuvent servir à fabriquer un adaptateur comme le mien:
sms_paddle2_body-main.STL (Pièce pricipale)
sms_paddle2_body-button.STL (Bouton poussoir)
sms_paddle2_body-knob.STL (Bouton rotatif)
Quelques notes concernant ces modèles 3D:
- Le modèle est conçu pour fonctionner avec un potentiomètre Vishay modèle 657-0-0-203
et une micro-switch Omron D2F-01. Si vous devez utiliser des pièces différentes, comparez
leurs dimentions avec ces deux, ou modifiez le modèle avant de l'imprimer.
- Les crochets du bouton poussoir sont très fragiles. Lors de l'installation, je recommande
des les faire chauffer afin de les ramollir. Une fois le bouton en place, redressez-les
avant que le plastique redurcisse.
- Le bouton rotatif s'installe par interférence sur l'axe du potentiomètre. S'il est trop
difficile à insérer, agrandir le trou par itération avec des forets de diamètre croissant.
Schéma
Cliquer sur le schéma pour une version plus nette.
Mon circuit à usages multiples
multiuse PCB2 se prête très bien à
la réalisation de ce projet. Voici un diagramme en illustrant l'utilisation:
Ce circuit pré-programmé est disponible
dans ma boutique en ligne.
Logiciel
Le micro-contrôleur doit bien sûr être programmé pour que ce circuit
fonctionne:
Version v1.0 21 février 2015 (Samedi) |
---|
Release initial. |
Fichier(s): sms_paddle-1.0.tar.gz (2.3 KB)
sms_paddle-1.0.hex (619 B)
|
Fonctionnement du paddle
La position du bouton tournant du paddle est codée sous 8 bits et comporte donc
256 positions. La transmission de cette valeur vers la console est faite en
deux blocs de 4 bits (nibbles). Ce sont les quatre fils servant normalement
pour les quatre boutons directionnels qui sont utilisés (broches 1 à 4 du connecteur).
Paddle HPD-200
Le paddle HPD-200 de sega indique à la console quel jeu de 4 bits est présentement
appliqué via la broche 9 du connecteur qui correspond normalement au bouton 2. Lorsque
le signal est bas, ce sont les bits de poids faible (0 à 3) qui sont transmit et
ce sont donc les bits de poids fort (4 à 7) qui sont transmit lorsque ce signal est haut.
Pour chaque échantillon, le paddle semble transmettre les bits de poids faible avant
les bits de poids fort. Le signal sortant sur la broche 9 a une fréquence de 8 kHz.
Paddle international
Pour le paddle international, c'est un peu différent. C'est la console qui sélectionne
le jeu de bits spécifique via la broche 7 du connecteur. Le paddle réagit en mettant
le jeu de bits demandé sur les broches 1 à 4 et en mettant la broche 9 au même état. Selon
mes observations, le paddle doit rafraîchir la valeur à transmettre au front descendant de la borche 7. (Sinon lors de certains mouvements on observes des soubresauts)
(Note: Ce graphique est représentatif de ce que mon firmware fait, ce qui n'est pas nécessairement
conforme au design prévu par Sega. Il n'existe pas à ma connaissance de périphérique sur lequel
je puisse me baser.)
Voici quelques photos d'un paddle HPD-200 que j'ai temporairement eu chez moi il y a quelques années:
Jeux testés
Jeu | Console | Mode | Résultat |
Galactic protector (JP) | SMS Japonaise | HPD-200 | Ok |
Galactic protector (JP) | Genesis nord-américain | Paddle international | Ok |
Outrun (US) | SMS Japonaise via adaptateur | HPD-200 | Ok |
Megumi rescue | Japanese SMS | HPD-200 | Ok |
Woody Pop / ウッディポップ (JP) | Japanese SMS | HPD-200 | Ok |
Woody Pop / ウッディポップ (JP) | Genesis Nord-américain +
adaptateur MarkIII +
Card catcher | Paddle international | Ok |
DONKEY.SMS (Homebrew) | SMS Japonaise et Genesis | HPD-200 | Ok |
SMS-A-Sketch (Homebrew) | SMS Japonaise et Genesis | HPD-200 | Ok |
Megumi rescue | Everdrive + SMS Australienne | HPD-200! | Ok |
Super racing | Everdrive + SMS Australienne | N/A | Ne fonctionne pas |
Contactez-moi si vous testez d'autre jeux, et n'oubliez pas de spécifier la région du jeu, la région de la console utilisée et
la nature de tout adaptateur ou modifications de console impliqués s'il y a lieu.
Photos proventant des utilisateurs
C'est un réel plaisir pour moi de voir comment les autres s'y prennent pour mettre en œuvre mes projets!
Faites moi 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.
2016-06-06: Kyle, d'Australie, m'a envoyé ces photos d'un paddle qu'il a bâti en utilisant une rallonge DB9 et un boîtier de manette USB NES!
2018-09-13: Sam m'a fait parvenir ces photos de France et explique:
A défaut d'être très esthétique, le paddle fonctionne à merveille sur ma
MegaDrive 1 japonaise via la conjonction d'un adaptateur "PowerBase Mini"
et d'une cartouche "Master Everdrive X7".
Références
# | Description | Adresse |
1 |
Cette discussion où le code de lecture du paddle HPD-200 vs. le paddle international
est décortiqué m'a appris pratiquement tout ce qu'il me manquait pour pouvoir réaliser
ce projet. |
http://www.smspower.org/forums/6783-OneMoreTimePaddleControlPlusPaddleDetectionRegionDetection
|
2 |
De l'information générale sur le Paddle ainsi qu'une liste de jeux s'en servant. |
http://segaretro.org/Paddle_Control |
3 |
Relire le code de mon projet Genesis/Atari/SMS à USB qui supporte depuis longtemps
le paddle HPD-200 m'a sauvé un certain temps. |
http://www.raphnet.net/electronique/atari_usb/index.php |
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.