Il y a quelques semaines, j’expliquais comment afficher du 240p en VGA avec un Raspberry Pi, pour les émulateurs. Depuis, j’ai reçu un câble VGA vers Péritel, ce qui permet d’utiliser n’importe quel téléviseur. Avec cette solution, il devient possible d’obtenir un résultat assez proche des consoles originales sur un téléviseur cathodique.
L’affichage en RGB
Petit résumé : avec un Raspberry Pi et un adaptateur à quelques euros qui se place sur les GPIO, il est possible de générer un signal 240p50 (PAL) ou 240p60 (NTSC) en natif. La majorité des consoles 8 et 16 bits travaillaient de cette façon, ce qui permettait 50 ou 60 fps, contre (logiquement) 25 ou 30 en 480i, le mode utilisé en vidéo. Le principal problème, c’est que les écrans acceptent rarement le 240p en VGA : il utilise une fréquence horizontale de ~31 kHz et le signal 240p descend à 15 kHz. Trouver un cathodique ou un LCD qui accepte du 240p à 15 kHz, c’est un peu le parcours du combattant. Mais il y a une solution en Europe : la prise Péritel.
La prise Péritel
Cette invention française date de la fin des années 78 et a été imposée dans les téléviseurs entre 1980 et 2015. La prise Péritel est intéressante pour les amateurs de jeux vidéo car elle véhicule trois types de signaux. D’abord, le basique composite : cette prise transmet dans un seul câble la luminance (les informations nécessaires à une image en noir et blanc) et la chrominance (les couleurs). C’est la pire solution possible (en dehors de la prise RF, rare en Europe, qui ajoute en plus le son). Ensuite, le S-Video. Cette prise sépare la luminance et la chrominance. Avec une source qui sépare les deux (astuce, pas un LaserDisc), ça permet de gagner un peu en qualité. Enfin, la prise Péritel transporte aussi un signal RGB. Il s’agit de la Roll’s des signaux analogiques : les couleurs sont séparées. Une console qui sort un signal RGB donne généralement une bien meilleure image que les deux autres solutions, quand elle existe. La mode actuelle dans le retrogaming est donc – quand c’est possible – d’utiliser la sortie RGB ou d’en ajouter une.
Dans les consoles classiques, commençons par Nintendo. La NES ne sort pas de RGB nativement, une modification est nécessaire. Attention, la NES française fait semblant de produire du RGB, mais il est obtenu à partir du composite d’origine. La Super NES sort nativement du RGB avec un câble adapté, tout comme le GameCube en version PAL. La Nintendo 64, elle, nécessite des modifications. Chez SEGA, Master System, Mega Drive et Saturn sortent du RGB, mais ça dépend un peu de la version matérielle de la console (la Master System II ne le fait pas sans modifications, par exemple). Enfin, la PlayStation le fait sans soucis.
Le problème du câble
Vous trouverez facilement des explications sur la fabrication d’un câble VGA vers Péritel sur Internet, pour une bonne raison : il s’agit d’un signal RGB dans les deux cas. Avec un périphérique capable de sortir du VGA à 15 kHz (ici le Raspberry Pi, mais sinon un PC avec des logiciels adaptés), ça ne pose pas de soucis. Attention tout de même, toutes les cartes graphiques ne le permettent pas et les GPU récents (moins de deux ans) ne supportent plus le VGA. Il y a tout de même quelques points importants. Le premier vient de la commutation en RGB : la prise doit recevoir une tension sur la broche 16 qui indique le type de signal. Si cette tension est proche de 0, il s’agit d’un signal composite, avec 1 à 3 V, il s’agit d’un signal RGB. Le second vient de la commutation lente : une tension de 0 V sur la broche 8 indique qu’il n’y a pas de signal, une tension de ~6 V indique un signal 16:9 et une tension de ~12 V (en pratique, 9 V suffisent) un signal 4:3. Ce signal de commutation n’est pas toujours présent, mais il est important : il permet de forcer l’activation de la prise Péritel. Certains vieux téléviseur ne permettent pas de forcer manuellement le passage sur la prise et sans ce signal, pas d’image. Sur un téléviseur moderne qui propose une touche dédiée, on peut parfaitement s’en passer.
Comme je n’avais pas envie de fabriquer mon câble, j’ai choisi un modèle de chez Retrocable.es, qui propose une entrée VGA, une entrée audio et une prise USB pour la commutation en RGB. Ma remarque sur l’absence de commutation lente n’était pas innocente : le câble ne l’intègre pas. En clair, il nécessite un téléviseur capable de passer manuellement sur l’entrée Péritel. Dans le pire des cas, il reste possible de brancher une pile 9 V sur la bonne broche, c’est généralement suffisant. Un port USB ne permet évidemment pas la commutation, la tension reste trop faible.
Enfin, au moment du branchement, attention à un point : certains téléviseurs n’intègrent pas la gestion du RGB dans toutes les prises. Sur mon LCD Samsung de 2010, une des deux prises ne fonctionne qu’en mode composite (Ext2
). Seule la première (Ext1
) accepte du RGB, et c’est indiqué explicitement.
Le résultat
Avec le passage en 240p et un réglage de l’overscan, l’image est très correcte et permet de jouer en « natif » à certaines vieilles consoles. Mon câble a tendance à demander un peu trop d’énergie sur le port USB, donc je vous conseille d’utiliser un appareil dédié pour alimenter la broche de commutation rapide (un chargeur, le téléviseur, etc). Si l’image dépasse de l’écran, vous pouvez modifier le réglage de l’overlay. Il faut modifier /boot/config.txt
et décommenter (ou ajouter) les lignes suivantes.
# overscan to adjust image position
overscan_left=0
overscan_right=0
overscan_top=0
overscan_bottom=0
Ensuite, il suffit de jouer sur les valeurs pour obtenir une image qui rentre dans le cadre. L’overscan dépend fortement des téléviseur et certains permettent de le supprimer en nommant la sortie « jeux » ou « DVI ». Au final, ça donne un résultat efficace sur un téléviseur LCD, reste à tester sur un cathodique. En pratique, il devrait même être possible de faire un adaptateur GPIO qui sort directement sur une prise Péritel. Qui lance un Kickstarter ?
Bonjour y à t’il un module GPIO avec une sortie analogique en péritel ? au lieu de la prise sortie HDMI, afin de pouvoir le brancher sur mon enregistreur DVD de salon ? le fux de ma box mais comme il n’y a aucun enregistreur DVD avec une entrée HDMI je ne peut pas enregister les émissions .
Les Raspberry Pi ont tous une sortie analogique, soit en direct (composite) soit via la prise jack, il suffit d’un adaptateur jack vers trois RCA
Au final, ça donne un résultat efficace sur un téléviseur LCD, reste à tester sur un cathodique.
> et là tout tombe à l’eau. Je pensais lire un puriste qui avait un tube cathodique quelque part… je ne comprend pas.