Adaptation trackball pour SegaSonic

22.05.2016

Adaptation trackball pour SegaSonic
Voici un tutoriel qui va expliquer comment modifier un trackball Atari, pour pouvoir utiliser celui-ci avec un supergun et le jeu d'arcade SegaSonic !

 

Sommaire

Page 1 :

Introduction

Page 1 :

Pourquoi un trackball Atari ?

Page 1 :

Un peu de technique

Page 2 :

Hack de l'Atari CX-80

 
  • Préparation
  • Localisation et dissociation du second bouton
  • Soudure des fils
  • Le « cas 1 » avec une connectique intermédiaire
  • Finition
Page 2 :

Câblage côté PCB

Page 3 :

Hack théorique de l'Atari CX-22

Page 3 :

Une solution pour jouer à 3

 

Introduction

Alors que nombre d'heureux possesseurs d'un original du jeu SegaSonic sur System 32 (vous savez, ce fameux jeu d'arcade Sonic qui se joue avec une souris sur le dos), sans control panel adéquate, en sont encore à se creuser la tête pour trouver une solution de remplacement, afin de profiter de leur jeu, et bien que j'ai pour ma part eu la chance de ne pas être confronté à cette problématique, j'ai cependant été amené à chercher une solution alternative, plus pratique (à trimballer notamment en convention), moins volumineuse en l'occurrence, permettant d'autoriser un troisième joueur, sans avoir besoin d'un second control panel...
Hé oui, c'est comme ça la vie, tandis que certains galèrent pour simplement trouver un misérable trackball et jouer à leur jeu, d'autres ne sont pas encore satisfaits avec deux panels complets ! &#59;)

Evidemment, rien ne tombe du ciel, il m'a fallu du temps, de la patience, et "un peu" d'argent, pour réunir tout ce petit monde :

Adaptation trackball pour SegaSonic
Ci-dessus, les panels trackball Aero City (le plus courant) et Astro City

Mais ne rage-quittez pas tout de suite, car la suite pourrait bien vous intéresser !...


En effet, j'ai trouvé une solution, simple et pratique, et surtout pas trop chère, qui réponde à mes besoins, mais qui du coup peut aussi répondre aux besoins des collectionneurs qui galèrent encore avec la première étape, surtout s'ils n'ont pas de borne !

C'est une enchère croisée sur Yahoo en 2013, et une discussion lors de la RGC 2015, qui m'ont soufflé la solution : un trackball Atari !

Pourquoi un trackball Atari ?

Les bidouilleurs, qui se sont penchés sur la question, le savent : la majorité des trackballs fonctionnent sur un principe similaire, et peuvent donc être adaptés sur un jeu comme SegaSonic. C'est d'ailleurs aussi le cas des souris à boule, à la différence qu'elle présente un avantage de taille : l'inertie de la boule. Ceux qui auront essayé SegaSonic grâce à l'émulation, sous MAME, l'auront remarqué : avec une souris, c'est pas terrible du tout !

Alors pourquoi ne pas prendre n'importe quel trackball, et l'adapter pour le jeu ?

> Parce qu'il n'existe finalement pas tant de contrôleurs trackball qui s'y prêtent convenablement.

SegaSonic est un jeu d'arcade, plutôt intense, pour lequel il est appréciable d'avoir une bonne disposition des boutons, et une boule d'une taille et d'un poids corrects pour profiter de l'inertie.
La majorité des trackballs informatiques sont très petits, avec une petite boule plutôt légère, faite pour être contrôlée avec le pouce, et souvent disposée en conséquence (sur le côté).
En arcade, on trouve aujourd'hui de très bons trackballs (avec des pièces de remplacement et des boules de toutes les couleurs), produits par Happ, des reproductions identiques à ceux de SEGA, mais il s'agit que de modules à monter, pas de control panels complets, ce qui implique de se bricoler un panneau de contrôle soi-même, et ils requièrent tout de même une adaptation au niveau de la connectique. Une solution souvent retenue est celle d'acheter le control panel d'un autre jeu, utilisant aussi un trackball, comme celui du jeu Virtua Golf / Dynamic Golf (sur système Naomi), mais ceci requiert malgré tout une adaptation au niveau de la connectique (simplissime ceci dit), et n'autorise qu'un seul joueur...
Quant au X-Arcade, cet énorme panel USB qui intègre un trackball dans sa version "Tankstick", ce serait dommage de faire des trous dans un objet aussi onéreux (+200€), surtout pour n'avoir qu'un seul joueur...

Non, c'est assurément du côté des consoles et micro-ordinateurs familiaux que les contrôleurs trackball se prêtent le mieux pour l'application qu'on souhaite, la preuve :

Adaptation trackball pour SegaSonic
Il y en a pour aussi cher de Sega Sports Pad, que le jeu lui-même avec ses documents !

Ci-dessus, il s'agit d'une des images de l'enchère sur Yahoo mentionnée précédemment, qui comprenait donc le jeu, divers documents, mais en revanche aucun control panel ; celui-ci était remplacé par une adaptation faite à partir de deux pads trackball "Sega Sports Pad" pour Master System ! Géniale comme idée ! Des trackballs alternatifs, pratiques pour le coup, et de marque SEGA en plus, que demander de plus ?

Problème :
en 2013, ces pads n'étaient pas donnés du tout, car rares en Europe, et coûteux à faire venir du Japon ou des USA. Etrangement, au moment de la rédaction de cet article, on en trouve qui sont plus abordables. Mais bon si tu lis cet article, c'est probablement que tu es collectionneur, donc que modifier (explications plus bas) un accessoire SEGA officiel ne t'emballe pas ; ça tombe bien !


En discutant avec du monde en convention à ce sujet, un joueur m'a rappelé qu'il existait aussi des trackballs de ce genre pour consoles Atari ! Des contrôleurs bien plus facilement trouvables en Europe, moins chers, et plus sympathiques en terme d'ergonomie !

Atari CX-22 (à gauche) et CX-80 (à droite)


Prix, ergonomie, ce sont donc les deux points forts de ces trackball.

En effet, de par leur ancienneté, ils sont sortis à une époque (1983) où les constructeurs s'inspiraient essentiellement de l'arcade pour le marché des consoles ; Atari étant présent sur les deux marchés à ce moment. Les deux modèles les plus courants, le CX-22, et le CX-80, ont de ce fait une conception assez massive et similaire à ceux qu'on rencontrait dans les salles d'arcade, avec notamment une boule de 3" de diamètre

Si mon choix s'est porté sur le modèle CX-80, à priori le CX-22 est très similaire et ne devrait pas trop poser de problème pour lui appliquer la suite de ce tutoriel, de la même façon.

Un peu de technique

Après avoir étudié le fonctionnement des trackballs d'origine du jeu, et celui du CX-80, il m'est rapidement apparu qu'une simple adaptation, entre la fiche "DB-9" (D-Sub DE-9) du trackball Atari, et la carte de jeu, n'était malheureusement pas possible.

En effet, en sortie des trackballs d'origine, en envoie les données brutes (qui se présentent sous la forme de signaux rectangulaires, nommés "XA", "XB", "YA", et "YB"), directement depuis les quatre optocoupleurs, sur la carte d'interface (Interface Board 837-8685) du jeu, qui s'occupe de réaliser un traitement de ceux-ci, pour les rendre tout de suite compréhensible par le programme.

Brochage du connecteur CN2 de la carte d'interface

Au fait, comment ça marche un trackball ?

  • la boule entraine deux cylindres, chacun ayant une roue crantée à son extrémité : un cylindre à la verticale (pour l'abscisse "X"), et un à l'horizontale (pour l'ordonnée "Y")
  • chaque roue crantée passe au milieu d'un coupe d'optocoupleurs. Chaque optocoupleur génère un faisceau lumineux, qui va être coupé par intermittences par les crans de la roue
  • lorsque le faisceau lumineux n'est pas coupé, on obtient un "1" logique (signal à l'état haut), lorsqu'il est coupé on obtient un "0" (signal à l'état bas)
  • il y a donc en tout quatre optocoupleurs, un couple pour "X" (XA et XB ), et un couple pour "Y" (YA et YB )
  • en fonction des mouvements de la boule, chaque couple d'optocoupleurs va donc générer deux signaux rectangulaire de même fréquence, mais sensiblement décalés
  • pour "X", comme pour "Y", la fréquence va permettre de déterminer la vitesse du mouvement, quant au décalage, il va permettre de déterminer le sens (la direction) du mouvement

En revanche, en sortie du connecteur "DB-9" du CX-80, ce ne sont pas des données brutes (XA, XB, YA, et YB ) qu'on retrouve, mais des données déjà traitées, à savoir les informations sur la vitesse ("X Motion" et "Y Motion") et sur le sens ("X Dir" et "Y Dir") :

CX-80 / CX-22 pinout (DB-9 femelle)

1 = Haut/X Dir 6 = Bouton d'action
2 = Bas / X Motion 7 = +5V
3 = Gauche / Y Dir 8 = GND
4 = Droite / Y Motion 9 = NC (ou parfois Bouton d'action 2)
5 = NC  

Le pré-traitement des signaux, par de l'électronique, présente un avantage non négligeable : ce n'est plus à faire côté programme. En effet, là où un composant s'acquitte sans problème de ce genre de tâche, le traitement de signal est très lourd dans un programme (pour l'époque, ce serait même totalement ingérable), et requiert une lecture soutenue du port manette, tandis que lorsque l'information se présente de façon claire, il suffit de la lire seulement lorsque c'est nécessaire.

Ces signaux sont évidemment inexploitables par la carte d'interface 837-8685, qui va tenter de les traiter, alors qu'ils le sont déjà. C'est pourquoi il va falloir recourir à un "hack", à savoir une modification électronique directement sur la carte mère du trackball Atari (d'où l'importance du prix), pour pouvoir récupérer les signaux XA, XB, YA, et YB, avant leur traitement...

Ceci aurait d'ailleurs aussi été valable avec un CX-22, voire même un Sega Sports Pad, apparemment compatible avec les contrôleurs Atari, donc présentant logiquement le même fonctionnement. Vous l'aurez finalement compris, pour n'importe quel genre de trackball, toute la difficulté réside dans la localisation des signaux XA, XB, YA, et YB.


Concernant les boutons d'action, bien qu'ils soient au nombre de deux sur les trackballs Atari, il s'agit en réalité du même bouton électriquement ; ceci permet de ne pas favoriser les joueurs droitiers, par rapport aux gauchers. Il va donc falloir aussi opérer une modification, afin de scinder les deux boutons, puisque SegaSonic nécessite deux boutons par joueur : un bouton d'action, et un bouton START.

Enfin, dans leur fonctionnement standard, les trackballs Atari peuvent fonctionner dans deux modes différents, grâce à un petit interrupteur : sur "TB" pour le mode trackball pure, ou sur "JS" pour le mode émulation joystick (permettant d'utiliser l'accessoire même avec les jeux qui ne sont pas prévus pour).
Cette subtilité n'a absolument aucune incidence sur le fonctionnement du trackball avec SegaSonic (puisqu'on va ponctionner les signaux bien avant la partie électronique qui réalise cette opération), mais elle explique la présence des directions "Haut", "Bas", "Gauche", "Droite", sur le pinout donné plus haut.