La respuesta es ¡Blast Processing! ¿Qué más necesitas saber?
Bien, si quieres conocer la respuesta real: el 68000 procesa los datos gráficos y los renderiza en un chip propietario llamado Video Display Processor (o 'VDP' para abreviar), que envía el frame resultante (en forma de líneas de escaneo) para su visualización.
El VDP funciona a ~13 MHz y admite varios modos de resolución según la región: hasta 320x224 píxeles en NTSC y hasta 320x240 píxeles en PAL.
Detrás de las múltiples resoluciones de pantalla
Técnicamente hablando, el VDP puede mostrar 40 o 32 columnas de tiles por línea de escaneo, y el número de filas de tiles depende de la región (28 en NTSC o 30 en PAL) . Ahora bien, la mayoría de los juegos PAL prescinde de los tiles adicionales que permiten los sistemas PAL (probablemente para mantener la coherencia entre ambas regiones, siendo NTSC el mínimo común denominador), por lo que instruyen al VDP para renderizar con 28 filas (como en los sistemas NTSC). Así, el VDP no tiene más remedio que rellenar el área no utilizada con un color de fondo (también empleado durante el overscan).
Puedes identificar qué juegos PAL renderizan en modo NTSC comprobando el Mode Set Register #2 en un emulador con capacidades de depuración (p. ej., Exodus). Si el cuarto bit por la derecha es 0, el VDP está funcionando en modo NTSC .

Para ofrecer un modo multijugador rápido en Sonic 2 (1992), el juego activa el 'modo entrelazado' para renderizar un nivel en un solo jugador usando tiles de 8x16 píxeles (junto con otros cambios).

Por su parte, el modo multijugador más elaborado de Sonic 3 (1994) se basa en tiles dedicados de 8x8 píxeles, separados de los niveles en un solo jugador.
Además, el VDP dispone de un parámetro adicional para apilar dos tiles y formar mapas de 8x16, tratándolos como un tile único y duplicando así la resolución vertical. Sin embargo, esto reduce a la mitad la tasa de refresco, ya que los frames se renderizan con entrelazado (un frame renderiza las líneas de escaneo pares, el siguiente las impares, y así sucesivamente), lo que limita su funcionalidad. El modo multijugador de Sonic 2 es un buen ejemplo de este modo .
Por último, cabe señalar que el VDP se encarga automáticamente de añadir el relleno para el área de overscan, por lo que los juegos no tienen que preocuparse por qué zonas son seguras para dibujar gráficos (como ocurría con las 'zonas de peligro' de la NES).
Organización del contenido
En cuanto al procesamiento de los datos gráficos, este chip tiene dos modos de operación:
- Modo IV: El modo heredado que funciona igual que el de su predecesor.
- Esto no significa que esta consola pueda ejecutar juegos de Master System de inmediato, ya que se necesita un accesorio adicional, el Power Base Converter, para adaptar los cartuchos anteriores a esta consola. El conversor también instruye al chip de E/S para poner el Z80 al mando.
- Modo V: El modo de operación nativo. Nos centraremos en este.
¿Y los Modos 0 a III? Bien, estos pertenecen a la aún más antigua SG-1000 y el Mega Drive no los admite.
Como dato curioso, un antiguo desarrollador de este sistema me comentó que la estructura de comandos del Modo V (usada para controlar el VDP) hereda el diseño del TMS9918, el conocido chip de vídeo utilizado en la SG-1000 . Esto facilitó que desarrolladores de terceros pudieran operar el Modo V sin depender de documentación oficial (y de los consiguientes costes de licencia).
Memoria disponible

Arquitectura de memoria del VDP.
El contenido gráfico se distribuye en tres regiones de memoria :
- 64 KB de VRAM (Video RAM): contiene la mayor parte de los datos gráficos.
- 80 B de VSRAM (Vertical Scroll RAM): el VDP admite desplazamiento vertical y horizontal; los valores de desplazamiento vertical se almacenan en este espacio separado, por alguna razón.
- 128 B de CRAM (Colour RAM): almacena cuatro entradas de paleta con 16 colores cada una (incluyendo
transparent); el sistema ofrece 512 colores a elegir. Además, se pueden aplicar efectos de Highlight y Shadow a cada paleta para obtener una gama más amplia de colores por paleta.
Construcción del frame
La siguiente sección explica cómo el VDP dibuja cada frame. A modo de demostración, se usa Sonic The Hedgehog como ejemplo. Antes de continuar, recomiendo revisar el modus operandi de su predecesor, ya que buena parte de lo explicado allí volverá a aparecer aquí.
Tiles

Varios tiles agrupados. Para la demostración se utiliza una paleta por defecto.

Un tile individual de 8x8 píxeles.
Al igual que la PPU de Nintendo, el VDP es un motor basado en tiles y, como tal, utiliza tiles (bitmaps básicos de 8x8) para componer los planos gráficos. En el caso del VDP, cada tile se codifica con un array de 4 bytes, donde cada entrada de 4 bits corresponde a un píxel y su valor corresponde a una entrada de color (que apunta a una paleta de colores).
Los cartuchos de juego almacenan los tiles en su ROM (alojada en el cartucho), pero deben copiarse a la VRAM para que el VDP pueda leerlos . Tradicionalmente, esto solo era posible durante intervalos de tiempo específicos y lo gestionaba la CPU; por fortuna, esta consola añadió circuitería especial para delegar esta tarea al VDP (entraremos en detalles más adelante).
Los tiles se utilizan para construir un total de cuatro planos que, al fusionarse, forman el frame visible en pantalla. Además, los tiles de estos planos pueden solaparse entre sí, por lo que el VDP determina cuál es visible en función del tipo de plano y el valor de prioridad del tile.
Fondo

Mapa de fondo asignado con el área seleccionada marcada.
El plano de fondo, también conocido como Plane B, es un tilemap desplazable (conjunto de tiles) que contiene tiles estáticos .
Este plano admite seis dimensiones distintas: 256x256, 256x512, 256x1024, 512x256, 512x512 y 1024x256. Los programadores pueden seleccionar la dimensión que mejor se adapte al tipo de desplazamiento requerido.
Cada tile puede ser volteado horizontal y/o verticalmente y tener una prioridad asignada.
En el ejemplo mostrado , notarás que el área seleccionada para su visualización no es un cuadrado... ¡Y no tiene por qué serlo! El VDP permite configurar valores de desplazamiento horizontal para el frame completo, para cada línea de escaneo individual o para cada ocho píxeles. Esto significa que los desarrolladores pueden dar al área seleccionada la forma de un rombo y modificar sus ángulos a medida que el jugador se mueve para simular efectos de perspectiva. Estos trucos no dañan el plano; el VDP obtiene cada línea horizontal seleccionada y construye un frame regular a partir de ella.
Primer plano

Plano frontal asignado con el área seleccionada marcada.
El plano frontal, también conocido como Plane A , comparte las mismas propiedades que el plano de fondo, salvo que este tiene mayor prioridad, lo que significa que los tiles renderizados aquí siempre se sitúan por encima del plano de fondo.
Además, este plano puede dividirse para formar un nuevo subplano: el Window Plane. La única diferencia es que este último no se desplaza.
En definitiva, los nuevos valores de prioridad y los planos separados permiten a los diseñadores crear nuevos tipos de escenarios. Asimismo, al usar diferentes velocidades de desplazamiento en cada plano, se puede lograr un efecto parallax.
Sprites
![]()
Capa de sprites asignada con el área seleccionada marcada.
En este plano, los tiles se tratan como sprites. Se posicionan en un mapa de 512x512 píxeles y solo se selecciona para su visualización una parte de él (la resolución de salida del VDP). Esto es útil para ocultar sprites no deseados o preparar otros que se mostrarán más adelante. El VDP también ofrece una antigua función de detección de colisiones.
Los sprites se forman combinando hasta 4x4 tiles (mapa de 32x32 píxeles) y seleccionando hasta 16 colores (incluyendo transparent). Si se necesita un sprite más grande, se pueden combinar varios sprites en uno.
Solo puede haber un máximo de 20 sprites por línea de escaneo y 80 por pantalla. Superar estos límites corromperá toda la capa.
La región de la VRAM donde se definen los sprites se denomina Sprite Attribute Table ; cada entrada contiene el índice del tile, las coordenadas en la capa (x e y), el valor link (gestiona qué sprites se dibujan primero), la prioridad (el sprite con mayor prioridad es el que se muestra en caso de solapamiento), el índice de la paleta de colores, y el volteo vertical y horizontal.
Resultado

Frame emitido al televisor (en formato NTSC). El VDP añade automáticamente un área de overscan que la mayoría de los televisores CRT ocultarán.

Puntos CRAM en la esquina inferior izquierda del área de overscan.
Mientras se dibuja el frame, el sistema llama secuencialmente a diferentes rutinas de interrupción según la posición del haz del CRT. Como probablemente hayas visto en consolas anteriores, esto permite a la CPU preparar el siguiente frame (o modificar el actual).
Convencionalmente, se invocan dos tipos de interrupciones: H-Blank (en cada línea horizontal) y V-Blank (al final de cada frame).
El H-Blank se llama numerosas veces por frame, pero se limita a ejecutar rutinas cortas. El V-Blank, en cambio, permite rutinas más largas, con el inconveniente de que solo se llama 50 o 60 veces por segundo (según la región de la consola).
Cabe señalar que el área de overscan del ejemplo muestra algunos puntos de color aleatorios en la esquina inferior izquierda . Este fenómeno, conocido como puntos CRAM (CRAM dots), ocurre cuando la CPU actualiza las paletas en la CRAM mientras el VDP está emitiendo las líneas de escaneo restantes (en el ejemplo, esto sucede durante el overscan). Este conflicto hace que el VDP lea el valor que la CPU está escribiendo en ese momento, en lugar de la ubicación requerida en la CRAM. Así, la imagen se corrompe. En este caso concreto, el juego solo actualiza la CRAM durante el overscan, por lo que esta anomalía pasa desapercibida en los televisores CRT tradicionales. Sin embargo, en otro nivel del juego, este cambia la paleta a mitad del frame para simular efectos de agua. Por ello, los programadores intentaron disimularlo intercalando un efecto de ola de agua parpadeante . Como puede verse, todo es cuestión de equilibrar los colores adicionales con el efecto secundario de la CRAM.
Una unidad de transferencia dedicada
Hasta ahora hemos analizado qué puede hacer la CPU para actualizar los frames, pero ¿qué hay del VDP? ¿Ofrece algo más especializado? Pues sí: este chip incorpora un Acceso Directo a Memoria (DMA) que permite mover datos entre ubicaciones de memoria a una mayor velocidad y sin la intervención de la CPU.
El DMA puede activarse durante el H-Blank, el V-Blank o en estado activo (fuera de cualquier interrupción), y puede utilizarse para escribir sobre la VRAM, la CRAM y/o la VSRAM . Sin embargo, durante las transferencias desde la RAM de la CPU mediante DMA, el bus de la CPU queda bloqueado, por lo que una planificación cuidadosa es fundamental para lograr un buen rendimiento.
El uso eficaz de estas características puede posibilitar gráficos de alta resolución, un desplazamiento parallax fluido y altas tasas de frames. En el mejor de los casos, puede que tu juego aparezca en anuncios de televisión con multitud de letreros de ¡Blast Processing!
Salida de vídeo
El primer diseño de esta consola (conocido comúnmente como 'Modelo 1') incluye el mismo puerto de salida de vídeo que la Master System. Las posteriores revisiones 'Modelo 2' y 'Modelo 3' pasaron a utilizar un puerto mini-DIN.


