1 puntos por GN⁺ 2024-07-30 | 1 comentarios | Compartir por WhatsApp

Diseño del sistema de video de Super Nintendo

El interior de una TV de principios de los 90
  • Super Nintendo genera salida de video hacia un televisor estándar
  • La TV recibe la señal de televisión analógica (NTSC) a través de la antena, toma la señal mediante un sintonizador y muestra la imagen en un CRT (tubo de rayos catódicos)
  • La TV tiene una entrada auxiliar (AUX), y un televisor básico incluye un conector compuesto para transmitir la señal de video (amarillo) y conectores dedicados para la señal de audio estéreo (blanco y rojo)
Cómo funciona un CRT
  • Un CRT funciona a 15kHz y dibuja aproximadamente 15,000 líneas por segundo
  • Dentro del CRT hay tres cañones de electrones, que siempre disparan electrones hacia el frente, y dos conjuntos de imanes (vertical y horizontal) mueven los electrones arriba y abajo, y de izquierda a derecha
  • Un CRT no tiene píxeles, y los electrones disparados por el cañón siempre llegan a la franja de color correcta
Cómo controlar un CRT
  • El CRT consume señales roja, verde y azul conectadas a cada cañón de electrones
  • Las señales de sincronización (HSYNC y VSYNC) se transmiten por un solo cable blanco, y a esto se le llama sincronización compuesta (CSYNC)
  • El CRT consume la señal e intenta sincronizar los cañones de electrones
Cómo dibuja una imagen un CRT
  • El CRT dibuja líneas de izquierda a derecha
  • Cuando recibe un evento HSYNC, vuelve al lado izquierdo de la pantalla (X=0), y cuando recibe un evento VSYNC, vuelve a la parte superior de la pantalla (Y=0)
  • El CRT dibuja la línea mientras se mueve hacia la derecha y se inclina hacia abajo
La clave para entender un CRT
  • La clave de un CRT es entender que el cañón de electrones se mueve hacia la derecha de la pantalla mientras se inclina hacia abajo
  • Si VSYNC ocurre al mismo tiempo que el último HSYNC, la línea siempre se dibuja en la misma posición de la pantalla
  • Si VSYNC ocurre entre dos HSYNC, las líneas se dibujan cruzadas
Qué hay dentro de una línea
  • El CRT es digital al dibujar líneas, pero el contenido dentro de la línea es analógico
  • Los tres cañones de electrones están conectados directamente a los cables RGB, y el sistema puede cambiar libremente la señal de color
Cómo lo manejaban los sistemas existentes
  • Los diseñadores del SNES tenían que proporcionar una señal que el CRT pudiera procesar
  • Había que cumplir con la especificación de la señal NTSC
  • Relación de aspecto 4:3, 262.5 líneas por campo, 341.25 puntos por línea y frecuencia de campo de 59.94Hz
Convertirse en ingeniero de Nintendo
  • Después de entender cómo funcionaba el CRT, había que diseñar el sistema de video
  • Se eligieron 262 líneas para crear un modo progresivo, con el objetivo de una tasa de 59.94Hz por cuadro
  • Se usaron 350 puntos para ajustarse a la relación 4:3, y se necesitaba un dot clock de 5,496,498Hz
Resolver los problemas
  • No se podía usar un dot clock de 5,496,498Hz
  • Había que usar un oscilador maestro para que los subsistemas trabajaran a través de divisores de frecuencia
  • Había que resolver el problema del overscan
Introducción del overscan
  • Si el cañón de electrones seguía disparando electrones mientras se reiniciaba horizontal o verticalmente, aparecían artefactos visibles
  • La TV hacía overscan de la imagen para mostrar el área de pantalla ligeramente más grande
  • Se necesitaba tiempo para detener el cañón de electrones después de VSYNC y HSYNC
Elección de la resolución vertical del SNES
  • Los sistemas competidores usaban 224 líneas visibles
  • Nintendo dividió 262 líneas en 224 líneas visibles y 38 líneas en blanco
Elección de la resolución horizontal del SNES
  • Se usaron 262 líneas y un reloj maestro de 21.47727MHz para obtener un dot clock de 5.3693175MHz
  • Se usaron 341 puntos para obtener una tasa de 60.098Hz por cuadro
Elección del overscan horizontal del SNES
  • De los 341 puntos, se usaron 256 puntos visibles y 85 puntos para HBLANK
  • La relación de aspecto es 8:7, lo que produce una ligera distorsión
Modo de alta resolución: entrelazado
  • La resolución vertical puede duplicarse hasta 448 líneas
  • Duplicar la resolución horizontal es difícil
PAL vs NTSC
  • En Europa se usaba PAL en lugar de NTSC, y en Francia se usaba SECAM
  • PAL usa una tasa de 50Hz por cuadro y 312.5 líneas por campo
  • La versión PAL del SNES usa un reloj maestro de 17.7344750MHz
  • La resolución visible usa 224 líneas y 256 puntos, y la tasa por cuadro es 50.00697891Hz
Salida
  • El SNES convierte la señal CRT a compuesto y S-Video
  • A través del conector AV ofrece señal pura "RGB/CSync", señal "Composite" y señal S-Video

Resumen de GN⁺

  • Este artículo explica el proceso de diseño del sistema de video de Super Nintendo y aborda cómo funciona un CRT y cómo procesa señales
  • Explica las decisiones de diseño del sistema de video del SNES a partir de una comprensión del funcionamiento del CRT y del procesamiento de señales
  • Este artículo es útil para quienes tienen interés en el diseño de hardware de consolas de videojuegos, y ayuda a entender la historia y el funcionamiento de la tecnología CRT
  • Otros proyectos con funciones similares incluyen Sega Genesis y Neo-Geo AES

1 comentarios

 
GN⁺ 2024-07-30
Comentarios de Hacker News
  • 224 es divisible entre 16, así que encaja bien con los tilemaps del pipeline de renderizado gráfico

    • CGA/EGA/VGA todas tenían modo 320x200
    • La NES era 256x224, y la SNES también
    • Pac-Man en arcade era 288x224
    • Los clones de Pac-Man en PC siempre se veían raros
    • Solo lo entendí después de aprender los detalles de la máquina
    • Los píxeles no eran cuadrados en la resolución de PC
    • Al ver ports o clones de Pac-Man, trataba de averiguar el tamaño del mundo, de los tiles y de los sprites
  • 59.94Hz es un número raro

    • Norteamérica y algunas otras regiones usan una red eléctrica de 60Hz
  • La proporción de arte 8:7 se puede ver en juegos de SFC/SNES porteados a otras plataformas

    • Las versiones de PSX/Saturn/PC mantienen el arte original y agregan padding para 4:3
    • Si ves capturas de la versión de Saturn, todo se ve un poco demasiado delgado
  • En los juegos europeos, el VSYNC ocurre a 50.00697891Hz, así que los juegos corren 17% más lento de lo previsto

    • Me decepcioné cuando jugué Sonic the Hedgehog por primera vez en Mega Drive
    • Me enteré de la diferencia de velocidad entre NTSC y PAL por YouTube
    • La música también suena terrible en PAL
    • DooM en SNES tenía una pantalla más grande en la versión NTSC
    • Era bueno en Punch-Out de NES, pero si hubiera competido en Estados Unidos, habría perdido en la primera ronda
  • Hay un error tipográfico en el artículo; la proporción 8:6 es lo mismo que 4:3

    • Usaba la salida RF para alternar entre la SNES y la antena de la TV
  • La resolución de salida 256x224 (8:7) se expande a una imagen 4:3

    • La velocidad de puntos de la SNES es más lenta que la velocidad de píxeles cuadrados del estándar ATSC
    • Los píxeles se expanden horizontalmente por 8/7, así que la resolución 8:7 se expande a 64:49
    • 224*(4/3) = 298 puntos visibles
    • 224*(7/6) = 261.33... puntos visibles es más cercano
  • Me pregunto si existe un emulador que simule con precisión la apariencia de un CRT

    • Con shaders de GPU debería ser viable en términos de rendimiento
  • Esperaba una perspectiva sobre cómo esto influyó en el diseño icónico de los juegos

    • Me encantaba la SNES, pero no pude convencer a mis padres
    • Gracias por escribir esto. Fue muy interesante