dimanche 24 août 2014

Atari 2600



 ATARI 2600 ... la première console du foyer, un cadeau de Noël pour mon frère et moi (bon, surtout pour mon frère car moi  je savais même pas ce que c'était) ... en198... 1984 je crois ... ah, non, ça c'est autre chose.
"Accessoire" indispensable: la petite TV 36cm noir et blanc pour pouvoir jouer avec, pour pas abimer la TV familiale.

La console se branche sur la prise antenne. On cherche au mieux un canal qui reçoit le signal vidéo de la console grâce à une séance de "potentiométrie". Le bouton poussoir "0" de la TV est enfoncé pendant la manipulation. C'est sur cette chaîne que l'on pourra désormais jouer à notre nouveau jouet (car oui, à l'époque, les jeux vidéos, ce sont surtout des jouets)

Quel dommage tout de même de ne devoir se contenter d'une TV noir et blanc, alors qu'un commutateur "Color" sur la console nous fait de l’œil ... Une fois, chez de la famille éloignée, je suis tombé sur un adulte qui jouait sur une TV couleur: j'avais trouvé ça fabuleux .... comme quoi on peut être con quand on est petit. Sur les version SECAM de la console, point de trace des 128 couleurs américaines en effet, mais juste une coloration arbitraire des 8 niveaux du gris du mode Noir et Blanc. J'y reviendrai plus tard.

Pour l'instant, ce n'est pas la couleur qui m'intéresse, mais juste de pouvoir jouer à l'une des 2 consoles offertes par 2 de mes collègues (la mienne, la vraie, avait été vendue pour financer l'achat de ma master system ... un peu salaud quand on pense qu'il s'agissait surtout de la console de mon frère, mais bon, vu le nombre d'années où il avait joui de l'objet et la TV dans sa propre chambre, ce n'était qu'un juste retour des choses)



Le principal soucis  avec ces vieilles consoles, c'est le mode de transmission vidéo: sur la plupart des TV "récentes" (avec un tuner numérique), il est très difficile d'obtenir une image nette. Attention, quand je dis que l'image est dégueu, je ne parle pas de de la dégueulassitude inhérente aux images antenne ... non non, je parle de l'impossibilité de s'arrêter pile poil sur le canal qui va bien. dans certains cas, il faut se contenter d'un vague graphisme en arrière plan de jolis grésillements bien nets !!

Merde, il doit bien y avoir un moyen de faire passer l'image sur composite ou RGB. Je me lance donc dans une recherche Google pour voir si quelqu'un peut m'aider et là ....

Le drame des 8 couleurs SECAM:

L' Atari 2600 est conçue pour générer 128 couleurs, définissables dans un registre de 8 bits:
- le nibble de poids faible définit la luminosité. Attention: le bit de poids faible n'a aucune influence (seuls les 3 bits de poids fort comptent) C'est pour cette raison que dans les tableaux de description de luminosité, la valeur associée à cette grandeur évolue de 2 en 2. On peut donc, par ce nibble, définir 8 luminosités différentes.
- le nibble de poids fort définit la couleur proprement dite (qui apparaîtra plus ou moins sombre selon la valeur de la luminosité) Ici, pas de bit mort: on a bien nos 16 couleurs couleurs différentes.

Vous trouverez ce tableau un peu partout sur le net. J'ai chopé celui-ci sur wikipédia.org
Toujours sur Wiki, mais dans un autre article, vous pouvez voir les tableaux des couleurs résultant de la valeur de ces registres:


La sortie physique de la couleur résultante de la valeur de ce registre est dispatchée sur 4 broches différentes du composant TIA dans lequel il est défini (Television Interface Adaptator):
- une seule broche pour la couleur, certainement proche d'une sortie vidéo composite
- une sortie TTL pour chaque bit de luminosité (ces 3 broches sont nommées LUM0..2 sur le pinout, ald LUM1..3) Ces 3 broches servent à moduler la luminosité de la broche COLOR.

Les schémas de 2 différentes versions du TIA sont données plus loin.

Bon, voilà, vous aurez certainement remarqué: la palette de couleurs ci-dessus est donnée pour la version NTSC de la console (version américaine)

A l'heure de l'export les territoires ayant adopté la norme SECAM (dont la France), la broche COLOR devenait inutilisable telle quelle (et ça aurait été fatigant de faire une modification pour quelques milliers d'utilisateurs français) Cette broche devenait alors purement et simplement inutilisée (à l'heure actuelle je ne sais pas si un signal est présent sur cette broche ... je pense que si c'était le cas, y'aurait déjà eu quelqu'un pour en profiter) Restait donc un signal Noir et Blanc, colorisé au dernier moment en convertissant les 8 niveaux de gris en 8 couleurs, mélanges possibles entre le Rouge, le Vert, et le Bleu.

Et voilà comment, à partir d'un joli dégradé de bleu dans un jeu tournant sur une machine US, on se retrouve avec un ciel multicolore, comment on se retrouve avec une rivière verte etc ...

Notons que nos voisins PAL étaient un peu mieux lotis au niveau nombre de couleurs, mais leur application était tout aussi arbitraire:

Et dire que l'on râle en voyant des petites bandes noires sur notre SNES ... :)

Enfin, ne boudons pas notre plaisir: à l'époque, le N&B suffisait à notre bonheur et la vue d'une image couleur nous rendait tout fous. On va donc retrouver nos 8 couleurs ... et en RGB. Car c'est là la vraie nature de cet article: juste avoir une image nette pour la console de notre enfance (enfin ... mon enfance en tout cas)

Vous l'aurez compris, il suffit juste de convertir les tensions TTL issues de chacune des broches LUM en tensions dont les niveaux sont exploitables par le RGB de la TV.




La bonne méthode:
 Si est est tatillon, la bonne méthode  serait de diviser la tension par un peu plus de 5 et de faire rentrer la tension résultante (par un pont diviseur par exemple) sur un ampli de courant (l'intérêt est d'avoir une impédance d'entrée infinie pour ne pas faire s'écrouler la tension divisé) En sortie de cet ampli on peut alors adapter l'impédance à 75 Ohms.



Le soucis de cette méthode c'est la nécessité de recourir à un AOP rail to rail pour éviter l'offset de déchet sous une alimentation 0-5V.
Attention aussi à la valeur des résistances du pont diviseur: on ne connaît pas la résistance de sortie du TIA.


La méthode intermédiaire:
Pour peu qu'on ne soit pas trop regardant sur l'adaptation d'impédance, on peut profiter d'une porte logique pour l'abaissement de la tension.



La porte logique fait office ici d'ampli de courant: impédance d'entrée forte et impédance de sortie faible. A sa sortie on retrouve la tension du TIA, qui ne s'écroulera pas "quelque soit" la charge que l'on y met.

Enfin, c'est là que la solution n'est pas très idyllique: la résistance de sortie d'une porte n'est pas clairement indiquée dans une datasheet (on parle d'un niveau logique respecté pour un courant max consommé) mais elle peut atteindre la dizaine d'Ohms je pense (ce qui n'est pas faible comparé à 75 Ohms) Bon, cela nous suffira puisque l'on place une forte résistance série pour abaisser la tension à présenter à la TV.

Le document le plus complet que j'ai trouvé, et utilisant cette méthode, peut être trouvé ICI
Le document est signé FRED92. Il a réalisé le PDF et est visiblement le concepteur de la méthode.
Son schéma est "parfait" (c'est l'auteur lui même qui le précise, contactez le pour plus de précision, il est très aimable et serviable) et je me permet de le rappeler ci-dessous:




Ce que j'ai remarqué:
- le schéma est propre
- les masses côté péritel TV sont bien toutes raccordées
- l'auteur du PDF nous fourni les brochages des 2 composants délivrant le RGB sur la console, merci
- l'auteur a fait gaffe à la consommation de la résistance, même si 2W semble surdimensionnée (mais visiblement il l'insère dans le connecteur Peritel)



Ce que j'ai décidé de changer:
- J'apporte le "3V" directement avec une Zener. Attention, sur mon schéma cette résistance de 150R consomme 0.5W. Il vous faudra mettre 2 résistances 300R 1/4W en parallèle ou bien mettre une 150R 1W.
- J'ai pris le "12V" tel quel en sortie d'adaptateur secteur. Comme tous les adaptateurs, il se peut qu'il présente jusqu'à 15V, mais ça varie selon la consommation. En soit c'est pas bien, sur mon schéma final je prévoirai une protection contre une surtension. Par contre, n'oubliez pas que l'impédance d'entrée sur cette broche est de 10K. Mettre une résistance de 47R sur cette ligne n'apportera à mon sens pas grand chose.
- J'ai viré les capas de liaisons (car intégrées à la TV ...voir mon article sur le RGB)
- J"ai enlevé les pull ups
- Je trouve la capa de découplage sur l'alim des portes logiques surdimensionnée. Je me contente de 100nF entre l'alim et la masse.

Ce que j'ai pas osé changer+remarques:
- la présence d'une capa de liaison sur la voie Audio ... bon, je vais faire mon fainéant, et je vais la laisser.
- le niveau Audio est divisé par 2 pour attaquer chacune des 2 voies (Gauche et Droite) sur la TV ... oui, pourquoi pas ... je ne sais pas comment ça avait été prévu par Atari
- pour ma part, la console modifiée intègre un C011903: le schéma ne me pose pas de problème. Dans le cas d'un C0104444, on a 2 sorties Audio. Le concepteur les a mises en CC: s'il ne s'agit pas de 2 voies différentes, pourquoi ne pas en utiliser qu'une seule ?

Ma réalisation prototype à moi:
Certainement moins bien que le schéma de FRED92, ma réalisation suit le schéma suivant:


Profitez du démontage pour passer votre coque sous l'eau savonneuse (utilisez une brosse à dent pour les parties en relief):



Au vu des modifs opérées par rapport aux solutions du net, j'ai ressenti le besoin de faire un test console ouverte avant modification:




Notons que 12V (rouge), GND (noir) et 5V (vert) sont pris directement sur le régulateur 5V.

Ci-dessous une petite vérification de formalité:
- sur la photo 1 le signal de synchronisation en sortie de TIA: on note bien un pulse vers le bas de 12µs toutes les 64µs
- sur la photo 2 ce même signal de synchronisation après amplification (même niveau car je n'ai pas fait débiter la sortie sur 785Ohms) Superposé à ce signal un signal de couleur, qui n'apparaît jamais immédiatement après le pulse (le temps que la TV règle le signal présent en tant que référence)




A ce stade, je peux refermer la console, mais je garde une connectique "soudée". Je n'aime pas trop la filasse attachée à la console (comme la Vidéopac) J'entreprends donc la pose d'une DIN8 pour ressortir les signaux dont j'ai besoin.
J'en profite aussi pour placer une LED témoin de disponibilité du 5V dans la console (c'est énervant une console qui ne s'allume pas sans qu'on sache si le transfo est opérationnel)

A noter: la référence RS de la jolie DIN8 noire (les visuels n'étant pas contractuels, on se retrouve parfois avec une fiche grise ...) est 491-140



La première difficulté de ce choix, c'est l'impossibilité de connecter directement les différentes masses nécessaires (R, G, B, Audio ...) à la carte d'adaptation. Je ne ressors en effet qu'une seule broche masse de la DIN. Les différentes masses nécessaires à la TV sont repiquer à partir de cette dernière dans le connecteur Péritel:






La seconde difficulté c'est la nécessité de mettre la DIN sur le panneau inférieur alors que le PCB est sur le panneau supérieur: il faut donc prévoir une longueur de fils suffisante pour un futur démontage sans tout arracher) Afin de faciliter le passage des fils, j'ai du percer le blindage.


La carte d'adaptation quant à elle est maintenue à la coque inférieure grâce à 2 ensembles vis+écrou de petites tailles.

Désolé, je n'avais plus de gaine thermo ... j'ai du faire avec un reste de scotch d'électricien ... c'est dégueu, ça colle aux doigts ... mais je sais que la semaine prochaine je n'aurais pas le temps de m'occuper de ce projet. je préfère finir comme ça, à l'arrache.

Il ne reste plus qu'à jouer !



Et ensuite ?

Honnêtement, je suis super content de retrouver cette console de mon enfance. Pour l'instant je n'ai que 3 jeux: Miss PacMan, Space Invaders et ... Kung Fu Superkicks (alors celui là il vaut le coup d'oeil ... )
Je recherche surtout les jeux que j'avais petit: Q Bert, Cristal Castle, Frogger, Pole Position et Combat notamment. Les jeux sont très très abordables, surtout aux US (je ne pense pas qu'ils soient zonés)

Les cartouches pour la console SECAM sont normalement les cartouches PAL (nombre de lignes identique entre les 2 normes), mais vous pouvez très bien y connecter des cartouches NTSC. La différence de rendu entre une cartouche PAL et NTSC sur une console SECAM est très bien expliqué ici
L'image ci-dessous est extraite du lien précédent:



En parlant des US, cette aventure m'a donnée envie de me procurer une console US. Un mod permet de brancher la console sur la prise Composite ... à bientôt !

Ma réalisation propre à moi:

Pour ce qui est des consoles SECAM ... ben il m'en reste une du coup ... et soyons franc, ni moi ni personne ne va l'utiliser avec sa prise RF. Alors je vais aller jusqu'au bout de ma démarche, et faire réaliser un circuit chez un prototypiste professionnel. Vu que ce type de carte est vendu par lot de 10, j'en mettrai quelques une en donation sur le forum Master System France (si 2 ou 3 passionnés passent par là ...)
Sur le schéma j'ai rajouté un clamp sur le 12V:



Voilà ce que ça va donner:


Après commande chez Itead (1euro pièce fdpi):



En guise de tutorial pour ceux à qui j'ai donné une carte, ci-dessous la liste des branchements pour une connexion directe Peritel (sans passer par une DIN8 ... si vous voulez faire comme moi va falloir réfléchir un peu et pas s'emmêler les pinceaux)
Attention: j'ai mis la sérigraphie P10 là où j'avais de la place, c'est à dire à côté du trou de fixation. P10 est bien au dessus de P12 (n'allez pas me connecter le Vert au chassi de la console)



Voilà, Lulrik a testé le premier (vous pouvez le retrouver sur Gamopat) le câblage s'est passé (presque) sans problème (oubli d'une petite équipotentielle sur l'audio ... un strap de 2 mm rectifie l'erreur: les prochains qui recevront cette carte n'auront pas à réfléchir car ils auront le droit à une carte strapée ou directement à la version 1.1 de la carte)

Je fournis les fichiers gerbers nécessaires à la fabrication de cette carte sur demande par mail:
eddy.foucault@gmail.com

Modification d'une Atari 2600 US:

j'écris ce paragraphe vraiment à l'arrache, j'y reviendrai plus tard. En gros, vous l'aurez compris, pour avoir des craies couleurs, impossible de passer par le montage RGB que l'on a fait pour la version SECAM; Il faut utiliser la broche Color, dont le signal sera modulé par les broches LUMx.
C'est ce que fait la plupart des mods d'Atari 2600 US.

Mais j'avais un doute: pour qu'un signal soit sorti du module RF, il fallait bien que ce "mélange" soit réalisé
- soit par le module RF (ce qui était peu problable)
- soit en amont

Eh bien oui, il a a moyen de récupérer ce signal déjà mis en forme. L'amplification ets simple à réalisé. Elle est dispo sur ebay, et le schéma dispo sur quelques sites internet (attention, on trouve de tout, avec ou sans adaptation de puissance sur la ligne ... ce qui laisse le soin à la TV, dans un des 2 cas, de rectifier l'erreur)

je vous mets le lien sur le guide d'installation, en espérant que celui-ci ne soit pas effacé plus vite que je ne me mette dans le sujet:
mod US

Liens utiles:
recensement des TIA NTSC et PAL: 2600 connection
fonctionnement TIA: midibox