Lo esencial en los gráficos de la Nintendo Entertainment System (NES)
¿Cómo funcionan los gráficos en la consola NES?
Las partes que más resaltan de la consola NES en cuanto a hardware son la CPU (Central Processing Unit) y la PPU (Picture Processing Unit), que es lo esencial en los gráficos de la consola NES. En esta ocasión nos enfocaremos en la PPU, que se encarga de almacenar toda la información gráfica en su memoria. Para ese entonces constaba de 16 kilobytes.
Una de las áreas de la PPU se conoce como las tablas de patrones o también VROMs. El uso de las VROMs se da por cada uno de los registros de control de la PPU. Además almacenan la mitad de la información gráfica de los mosaicos/sprites (cuadro de conjunto de pixeles) de 8×8 usados para conformar los fondos, figuras o parte de los personajes. Las VROMs tienen un tamaño de 8 kilobytes y generalmente la mitad la ocupa el fondo y la otra los sprites.
Los personajes suelen ser más grandes que un solo mosaico, así que varios de estos se combinan y conforman al personaje. Por ejemplo, en la figura de Mario se muestra cómo está construido con ocho mosaicos de 8×8 separados.
La NES puede mostrar 16 colores a la vez, ya que cada pixel tiene 4 bits dedicados a la búsqueda en la paleta de colores. La VROM contiene 2 bits superiores que pertenecen a la tabla de atributos para el fondo. Los 2 bits inferiores pertenecen a la memoria para los sprites.
Relación entre Tabla de nombres, tabla de atributos y Mosaicos (Nametables, Attribute tables y sprites)
Las tablas de nombres es otra área de la PPU y pueden ser 2 o 4 tablas. Dos de estas son réplicas de las tablas reales, se determina por medio de un reflejo del bit de la cabecera de la NES. Cada tabla de nombres es de 960 bytes, lo que corresponde a 960 mosaicos de 8×8 pixeles para componer el fondo, es decir 32×30 mosaicos o 256×240 pixeles.
Las 8 líneas superiores e inferiores no son visibles, por lo que su resolución final es de 256×224. Esto fue esencial en los gráficos de las consolas NES para los televisores estándar de los años 80.
En la memoria de la PPU también se almacenan dos paletas de colores, una se utiliza para los colores del fondo y la otra para los colores de los sprites. Estas no son en realidad paletas RGB, sino tablas de búsqueda de una paleta de 256 colores que la misma PPU traduce en señales de televisión. Estos valores almacenados en la paleta pueden ser modificados, lo que permite crear muchos efectos como transparencias, fundidos o parpadeos.
La memoria dedicada a los sprites (sprite ram) tiene un tamaño de 256 bytes. Esta memoria almacena 4 bytes de información para 64 sprites. Los 4 bytes poseen: La ubicación x e y del sprite sobre la pantalla, los 2 bits de color superiores, el índice del mosaico y la información sobre el volteo o mejor conocido como flipping (horizontal o vertical), además de la prioridad (detrás/delante) en cuanto al fondo.
Autor: David Ramírez E.
Editor: Carlos Pinzón
Código: UCCG-101
Universidad: Universidad Central
Fuentes
Diskin, P. (2004, agosto). Nintendo Entertainment System Documentation. Nesdev.com. https://www.nesdev.com/NESDoc.pdf
NESDev. (1999). NESGfx - NESDev Documentation. https://archive.nesdev.com/nesgfx.txt
Evan-Amos. (2010). NES-Console-Set [Imagen]. Wikimedia.org. https://commons.wikimedia.org/wiki/File:NES-Console-Set.png
Diskin, P. (2004). The NES motherboard [Imagen]. Nintendo Entertainment System Documentation. https://www.nesdev.com/NESDoc.pdf
Diskin, P. (2004). Sprite 0 detection & Character construction [Imagen]. Nintendo Entertainment System Documentation. https://www.nesdev.com/NESDoc.pdf
Diskin, P. (2004). Horizontal scrolling in Super Mario Bros [Imagen]. Nintendo Entertainment System Documentation. https://www.nesdev.com/NESDoc.pdf
Diskin, P. (2004). NES colour palette [Imagen]. Nintendo Entertainment System Documentation. https://www.nesdev.com/NESDoc.pdf
Diskover. (2017). Rendering [Imagen]. El hardware de la NES. Capítulo II: El funcionamiento de la PPU. https://bit.ly/3xT0uMm
Pingback: La era Wozniak: inicios de la computadora comercial
Esta muy interesante, gracias por compartir
Excelente articulo, muy buen breakdown de los detalles tecnicos correspondientes al hardware de graficos de la consola. La SNES fue muy exitosa y la consola mas vendida de la era de los 16-bits, a dia de hoy continua siendo interesante aprender sobre esta misma.