Conception du système vidéo de la Super Nintendo
L’intérieur d’un téléviseur au début des années 90
- La Super Nintendo envoie sa sortie vidéo vers un téléviseur standard
- Le téléviseur reçoit les émissions analogiques (NTSC) via une antenne, capte le signal avec un tuner, puis affiche l’image sur un CRT (tube cathodique)
- Le téléviseur dispose d’une entrée auxiliaire (AUX) et, sur un téléviseur classique, de connecteurs composite (jaune) pour le signal vidéo ainsi que de prises dédiées (blanche et rouge) pour le signal audio stéréo
Principe de fonctionnement d’un CRT
- Un CRT fonctionne à 15 kHz et trace environ 15 000 lignes par seconde
- À l’intérieur du CRT se trouvent trois canons à électrons, qui tirent toujours les électrons vers l’avant, tandis que deux jeux d’aimants (vertical et horizontal) déplacent les électrons de haut en bas et de gauche à droite
- Un CRT n’a pas de pixels, et les électrons émis par les canons atteignent toujours la bande de couleur correcte
Comment piloter un CRT
- Le CRT consomme des signaux rouge, vert et bleu reliés à chacun des canons à électrons
- Les signaux de synchronisation (HSYNC et VSYNC) sont transmis par un fil blanc unique, appelé synchronisation composite (CSYNC)
- Le CRT consomme ces signaux et essaie de synchroniser les canons à électrons
Comment le CRT dessine une image
- Le CRT trace les lignes de gauche à droite
- Lorsqu’il reçoit un événement HSYNC, il revient à gauche de l’écran (X=0), et lorsqu’il reçoit un événement VSYNC, il revient tout en haut (Y=0)
- Le CRT trace les lignes en se déplaçant vers la droite tout en inclinant le faisceau vers le bas
Le point clé pour comprendre un CRT
- L’essentiel est de comprendre que le canon à électrons se déplace vers la droite tout en inclinant le faisceau vers le bas de l’écran
- Si VSYNC se produit en même temps que le dernier HSYNC, les lignes sont toujours tracées au même endroit de l’écran
- Si VSYNC se produit entre deux HSYNC, les lignes se croisent à l’affichage
Le contenu à l’intérieur d’une ligne
- Le CRT est numérique pour le tracé des lignes, mais le contenu à l’intérieur d’une ligne est analogique
- Les trois canons à électrons sont directement reliés aux fils RGB, et le système peut modifier librement les signaux de couleur
Contraintes des systèmes de l’époque
- Les concepteurs de la SNES devaient fournir un signal que le CRT pouvait traiter
- Il fallait respecter la spécification du signal NTSC
- Ratio d’image 4:3, 262,5 lignes par champ, 341,25 points par ligne, fréquence de champ de 59,94 Hz
Se mettre dans la peau d’un ingénieur Nintendo
- Une fois le fonctionnement du CRT compris, il fallait concevoir le système vidéo
- Un mode progressif a été construit avec 262 lignes, en visant 59,94 Hz comme fréquence d’image
- Pour respecter le ratio 4:3 avec 350 points, il aurait fallu une dot clock de 5,496,498 Hz
Résolution du problème
- Il était impossible d’utiliser une dot clock de 5,496,498 Hz
- Il fallait utiliser un oscillateur maître, que les sous-systèmes exploiteraient via des diviseurs de fréquence
- Il fallait aussi résoudre le problème de l’overscan
Introduction de l’overscan
- Si le canon à électrons continue d’émettre pendant une remise à zéro horizontale ou verticale, des artefacts visibles apparaissent
- Les téléviseurs appliquent un overscan à la zone d’affichage, ce qui rend l’image légèrement plus grande
- Il faut un temps d’arrêt du faisceau après VSYNC et HSYNC
Choix de la résolution verticale de la SNES
- Les systèmes concurrents utilisaient 224 lignes visibles
- Nintendo a réparti les 262 lignes en 224 lignes visibles et 38 lignes vides
Choix de la résolution horizontale de la SNES
- En utilisant 262 lignes et une horloge maître à 21.47727MHz, on obtient une dot clock de 5.3693175MHz
- Avec 341 points, on obtient une fréquence d’image de 60.098Hz
Choix de l’overscan horizontal de la SNES
- Sur 341 points, 256 sont visibles et 85 sont utilisés comme HBLANK
- Le ratio d’image devient 8:7, ce qui introduit une légère distorsion
Mode haute résolution : entrelacement
- Il est possible de doubler la résolution verticale à 448 lignes
- Doubler la résolution horizontale est plus difficile
PAL contre NTSC
- En Europe, on utilisait le PAL au lieu du NTSC, et en France le SECAM
- Le PAL fonctionne à 50 Hz avec 312,5 lignes par champ
- La version PAL de la SNES utilise une horloge maître de 17.7344750MHz
- La résolution visible est de 224 lignes par 256 points, avec une fréquence d’image de 50.00697891Hz
Sortie
- La SNES convertit les signaux CRT en composite et en S-Video
- Via le connecteur AV, elle fournit un signal pur "RGB/CSync", un signal "Composite" et un signal S-Video
Récapitulatif de GN⁺
- Cet article explique le processus de conception du système vidéo de la Super Nintendo, ainsi que le fonctionnement d’un CRT et la manière dont il traite les signaux
- Il montre comment la compréhension du fonctionnement d’un CRT et du traitement du signal a guidé les choix de conception du système vidéo de la SNES
- L’article sera utile à celles et ceux qui s’intéressent à la conception matérielle des consoles de jeux vidéo, et aide à comprendre l’histoire et le fonctionnement de la technologie CRT
- Parmi les autres projets aux capacités proches, on peut citer la Sega Genesis et la Neo-Geo AES
1 commentaires
Commentaires Hacker News
224 est divisible par 16, donc cela s’aligne bien avec les tilemaps du pipeline de rendu graphique
59,94 Hz est un chiffre étrange
Le ratio d’illustration 8:7 se voit dans les jeux SFC/SNES portés sur d’autres plateformes
Les jeux européens déclenchent le VSYNC à 50,00697891 Hz, ce qui fait tourner les jeux 17 % plus lentement que prévu
Il y a une coquille dans l’article ; le ratio 8:6 est identique à 4:3
La résolution de sortie 256x224 (8:7) est étirée en image 4:3
Je me demande s’il existe un émulateur qui simule fidèlement l’apparence d’un CRT
J’espérais que cela donne un aperçu de la manière dont des designs de jeu emblématiques ont vu le jour