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



24 commentaires:

  1. Salut!

    Je suis intéressé à convertir mon Atari 2600 Secam vers Pal et avec une sortie vidéo composite comme dans cette vidéo. Quel est le schéma de câblage de la plaque, où les composants électriques sont placés et quel est la description et le montant de ces composants ? Est ce que je voulais faire une même chose.

    RépondreSupprimer
    Réponses
    1. Va voir sur ce forum, http://atariage.com/forums/topic/128279-cd4050-av-mod-on-pal-atari-2600/

      Ils créent les signals lum et chrom que tu peut facilment mixer avec une capa : http://dtvhacking.cbm8bit.com/common/svideo/index.html

      Le montage n'est pas cher à faire.

      Supprimer
  2. Bonjour,

    J'ai appris français à l'école, mais malheureusement, je oublié tout le vocabulaire et la grammaire. So I better switch to English language now :-)

    In addition to the RGB mod (thanks for the circuitry) you probably also want to do a mod for the TV TYPE switch (Colour/Black and White) since some games (e.g. the James Bond 007 game) use this switch for a "Pause Game" functionality.

    The SECAM atari is hardwired to the B/W mode such that all sprites on the screen have a different colour (on old atari games) and e.g. colours will be different for Player1/Player2 or the background.

    Since James Bond 007 for the atari 2600 uses the B/W position of the TV TYPE switch as the "Game Pause On" setting, the game is not playable on an unmodified SECAM atari. It will stuck directly after you start the game (nevertheless if you use the PAL or NTSC version of the game).

    Information about this can you find here: http://atariage.com/forums/topic/238562-remove-hard-wired-bw-mode-of-secam-atari-2600/?p=3250637

    Thanks again for all the information of the RGB mod.

    RépondreSupprimer
    Réponses
    1. Thank you for this information, and thank you for your efforts in French :) I will put this information on my blog, as soon as possible. Can I contact you for Composite Mod on NTSC model ?
      Auf wiedersehen !!

      Supprimer
    2. Sorry, I just have read you answer now. Unfortunately I didn't found a stable Composite Mod for my PAL consoles yet. (So I doubt it will work for NTSC consoles). I used this mod from a German forum: http://circuit-board.de/forum/index.php/Thread/4201-Donkings-Atari-2600-4-und-6-Schalter-AV-Video-Umbau/

      But this mod works just on my old CRT-TV. On a Samsung LCD I tried the colors were distorted and on another LCD TV the edges were softened every 15 seconds or so. So I also have to find a mod for better video quality.

      But ... there is an Aussie who has worked on a TIA replacement (I think it is a replacement) which supports RGB: http://etim.net.au/shop/shop.php?crn=210. I think maybe this is the way to go?!

      Best Regards

      Supprimer
    3. Ah so the 2600RGB is just a board which sits between the TIA socket and the orginal TIA. But it has solder points for Composite, S-Video and RGB and more. But one have to decide if 70$+shipping and customs is worth the effort. Probably only if the Atari is one of your favourite gaming consoles.

      Supprimer
  3. Bonjour, je crois que vous avez fait ce tutoriel en prenant le brochage du TIA NTSC (du coup sur vos schémas les broches ne correspondent pas, c'est un peu déroutant).

    RépondreSupprimer
    Réponses
    1. J'aurais voulu avoir une NTSC mais je n'avais que des SECAM sous le coude. Je confirme donc que le brochage fourni est bien celui de la console SECAM (même si les schémas dans cet article, point de départ de ma modif, et dont la source est fournie, font apparaître les mentions NTSC et PAL) Vous pouvez suivre le tuto à la lettre, il n'y aura pas de soucis.

      Supprimer
  4. Bonjour Eddy !
    Désolé du bon gros déterrage, mais j'ai acheté une bonne vieille Atari 2600 avec sa belle prise RF... que je ne peux pas utiliser. J'ai tenté de réalisé le circuit de Fred92, mais sur les sorties des signaux R, G et B, mon multimètre m'indique 3V, et 4V sur la synchro. Ma télé ne commute pas directement sur la sortie AV et je n'ai aucune image (ni aucun son d'ailleurs).

    Comme je ne suis pas vraiment doué en électronique, je me demande pourquoi.

    Merci d'avance !

    RépondreSupprimer
    Réponses
    1. bonjour, ce mod est assez simple et il n'y a aucune raison de ne pas réussir :) Vous pouvez me contacter à l'adresse eddy.foucault@gmail.com pour un coup de main

      Supprimer
  5. Ce commentaire a été supprimé par l'auteur.

    RépondreSupprimer
  6. Bonjour, pour les gens que ça intéresse, j'ai fait refaire une dizaine de PCB à partir des plans d'Eddy (merci à toi), mais je ne me servirai pas des 10. Je compte les proposer à l'achat pour un prix modique, soit nus, soit avec les composants (d'assez bonne qualité), montés ou non. Je pense ouvrir sous peu une page web pour les commander, avec paiement Paypal, dont je vous donnerai l'URL ici même dès que c’est dispo.

    Klyde

    RépondreSupprimer
    Réponses
    1. Bonjour Klyde,
      je suis interessé par 2 kits montés car je ne suis pas doué avec un fer mais j'en ai un ;)
      j'ai une atari cx-2600 as et une cx-2600 ap
      tu peux me joindre sur mon email benjamin.chase.31@gmail.com
      d'avance merci

      Supprimer
    2. c quoi la différence entre cx as et cx ap?

      Supprimer
    3. bonjour je suis aussi intéressé par le pcb pour la 2600... comment te contacter
      ou le plan du pcb

      Supprimer
    4. Bonjour klyde, as tu toujours un kit a la vente. Merci d avance

      Supprimer
  7. Atari ressort la 2600 en version portable, voir ici :

    https://www.lesnumeriques.com/console-de-jeu/atari-retro-handheld-p40889/l-atari-2600-se-decline-en-version-console-portable-n66075.html

    @Vincent Hubert : La CX 2600 AP est une PAL non ? Donc le PCB d'Eddy ne fonctionnerait pas...

    Klyde

    RépondreSupprimer
  8. Bonjour à tous,

    Après tout ce temps (et oui, tout arrive), les pièces restantes du kit de M. Eddy sont disponibles sur la page :
    http://klydes-korner.site/

    A bientôt.

    Klyde

    RépondreSupprimer
  9. Bonjour,
    J'ai installé la carte dans un atari, nous avons suivi le montage mais nous rencontrerons d'étranges problèmes de synchro et de son. J'aimerais vous envoyer des photos afin que vous puissiez nous indiquer ce que nous avons mal fait. Comment puis je vous les faire parvenir? A bientôt
    Antoine

    RépondreSupprimer
  10. bonjour, nous pouvons communiquer via eddy.foucault@gmail.com, mais résoudre votre problème par photo me semble compliqué. La dernière personne chez qui le mod ne marchait pas du tout s'était tromppé dans le repérage des broches du TIA, en les comptant par le dessous. Où avez vous eu la carte ? Avez vous vérifier la ref des composants de cetet carte, et du TIA ? Pour un debug, simplifiez votre cablage avec des connexions directes

    RépondreSupprimer
  11. Nicolas de la chaine Youtube CabriDIY a mis en ligne une vidéo du montage du PCB de M. Eddy, à voir ici : https://www.youtube.com/watch?v=S6Wm6l0JoSQ

    RépondreSupprimer
  12. Ce commentaire a été supprimé par l'auteur.

    RépondreSupprimer
  13. Bonjour Monsieur Eddy,
    L'Atari VCS est ma première console de jeux vidéo.
    Je tenais déjà à vous remercier pour votre travail et son partage.
    J'ai lu votre blog avec beaucoup d'attention il y a un an.
    Je me suis dit que c'était trop compliqué pour moi et que je me contenterai d'ajouter juste une LED (et que ce serait déjà pas mal au vu de mon niveau). Je suis revenu sur votre documentation plusieurs fois. Depuis j'ai lu des ouvrages sur l'électronique et comment réussir les soudures.
    J'ai pratiqué sur des vieilles cartes martyres récupérées à droite et à gauche (jusqu'aux poubelles). A la base, je suis programmeur.
    J'ai enfin décidé de franchir le pas.
    Pouvez-vous m'envoyer le fichier GERBERS pour fabriquer le PCB l'Atari 2600 video mod RGB ? Je vous remercie.
    Cordialement
    Vincent M

    RépondreSupprimer
  14. Hello Mr Eddy,

    Comme j'ai supposé que tu n'avais plus de temps de répondre aux demandes (j'ai tenté plusieurs fois par email).

    Je me suis pris en main, je me suis formé à Kicad pour faire le gerber.

    J'ai fait un récap en citant tout le monde ici : https://github.com/youenchene/atari-2600-mod-secam#atari-2600-mod-secam

    Encore merci pour le taff!

    RépondreSupprimer