Archivo del blog

domingo, 2 de mayo de 2021

Hu6260: colores, rgb y control sobre resoluciones"Clock Dock" único en la generación mal llamada 16 bits.

 


 

Hu6260 o VCE “Video Color Encoder”. Este procesador se ocupa de la visualización en la pantalla. Tiene por función determinar la resolución de la imagen, aplicar los colores y generarlos. EL VCE incluye  un DAC que convierte la imagen bajo forma numérica en señal analógica destinada a la TV CRT.

Pero antes que nada da la cadencia al VDC (Hu6270) para determinar la resolución. En efecto, la PC Engine es la primera (hasta la llegada de los 32 bits (Playstation o Saturn) en proponer una velocidad de reloj variable hasta los 10mhz para la colocación de pixeles en pantalla. La Neo Geo, la Megadrive, la Super Nintendo van todas estas a velocidades fijas: 6 mhz, 6,7 mhz y 5.3 mhz respectivamente.

Esto también permite un control y una colocación más exacta de los píxeles que forman y crean la imagen, dando lugar a una mejor definición de esta. Si te preguntas porque tantos juegos de PCE tienen mejor definición es por el mejor control sobre la creación de base de la imagen que tiene la consola y que no depende de la resolución. 

Cuanta más resolución tendrás lineas de píxeles más pequeños y por lo tanto "en teoría" imagen más definida, pero eso solo es así si tienes un control de píxeles adecuado, control que tiene Pc Engine en cualquier resolución y que solo tiene con muchísimo esfuerzo de programación MD.

El VCE de la PC Engine dispone de un “dot clock (velocidad de reloj)” flexible donde las frecuencias van desde los 5.3 mhz para la resolución standard hasta los 7.1 mhz para una resolución equivalente  a la de Mega Drive y de 10 mhz para mostrar una imagen más detallada de 512x224 píxels. 

El VCE controla  el número de  píxels en una línea y su colocación. 

Las resoluciones usuales de juegos de la consola son de 256x224, entre 304 y 336x224 y 512x224. Esta última es, por ejemplo, utilizada por el Sherlock Holmes Consultint Detective. R-Type se muestra en una resolución de 336x224 pixels mientras que Daimakaimura en la SuperGrafx o Zero Wing, Y´s, Burai en CD-Rom2 están en 320x224 píxels.

La PC Engine es de lejos, la máquina más flexible en este punto, la posibilidad de elegir la resolución horizontal está hecha al píxel. Y ese es uno de los secretos no comentados y no conocidos de porque la definición y calidad de imagen de Pc Engine es en tantos juegos, superior al resto de sus competidoras.

La Mega Drive, la Neo Geo y la Super Nintendo no pueden rivalizar con la PC Engine para determinar la resolución de sus juegos, que induce la forma de la imagen, más o menos adaptada al formato de la pantalla de los televisores de la época,  que son en formato 4:3(más o menos) y es ligeramente rectangular. 

La mayoría de las consolas, a excepción de la Mega Drive, usan una resolución de 256x224 (o 240) píxels, casi cuadrada, la imagen es pues aplanada en la pantalla. Con una resolución de 320x224 (Zerowing, Y´s, Burai...) más adaptada al formato 4:3, la imagen generada queda mejor. A pesar de éste aspecto, la gran mayoría de juegos de la consola usan una resolución de 256x224 siendo la más básica.

Esto se explica por el hecho que NEC prohibió a los estudios terceros usar  un pixel clock más allá del  básico (5.3693175 Mhz) bajo pena de ver su producción nunca comercializada. No es hasta 1990 que esta prohibición  será levantada para que la máquina pueda rivalizar  con la competencia. Prueba de la brillantez del diseño de este chip es que se tendrá que esperar a la Playstation o a la Saturn para obtener una flexibilidad igual en las resoluciones. Este dato difícilmente lo veréis comentado en algún sitio, porque es más fácil vender humo con los números publicitarios.

El VCE se ocupa también de la gestión de los colores y aquí también la PC Engine se desmarca técnicamente  ofreciendo  un confortable  avance comparado a la competencia actual y así como la que tiene por venir.

Dispone de una paleta de 512 colores en formato RGB (componentes de color Rojo/Azul/Verde).

 Aunque las consolas como la Famicom o las Atari disponen igualmente de una paleta de colores similares, su espacio colorímetrico no es el standard RGB sino el YIQ, es decir, que los colores que generan están basados en una señal de vídeo compuesto. Esta señal es de peor calidad, la imagen es borrosa, comparada con la RGB (con la salida de vídeo adecuada) que reproduce una imagen limpia, sin defectos.

El Hu6260 genera las imágenes en RGB directamente en la salida del chip. Pero sorprendentemente, ningún modelo de la PC Engine excepto el monitor/consola de NEC, permite de aprovecharse directamente de esta calidad, ya que la consola no tiene esta salida de vídeo. 

Aunque fue y es muy común usar Pc Engines modificadas con salida RGB scart, incluso en su época.  Así pues, la consola genera una imagen compuesta donde  la base es nativa RGB, pero degrada su calidad por una conexión de vídeo (compuesto vídeo o RF antena) inadecuada.

El VCE entrega una imagen RGB que enseguida se convierte en compuesto NTSC o en RF según el modelo de PC Engine.  

Aunque esta señal de vídeo degrada la calidad de imagen, los juegos de la PC Engine son coloridos y destacan no solo con las consolas de la competencia  sino también con los juegos de arcade donde los gráficos están llenos de numerosos colores. La consola tiene la mejor salida RCA que se ha construido en una consola, aunque sea técnicamente inferior a la calidad RGB. 

NeoGeo, Super o MD tienen de origen, aunque con el cable aparte, conector RGB, pero su RCA que es el cable que suele acompañar a la consola en su caja (o rf), da una calidad terriblemente mala. En efecto, la consola de NEC ofrece una configuración extrañamente confortable en calidad con su cable RCA.

Pc Engine dispone de una paleta de 512 colores donde 482 pueden ser mostrados simultáneamente. Así, la consola aplasta a la competencia contemporánea  y del futuro pues la Mega Drive empezará con 64 colores mostrables  en comparación con los 482 que propone la PC Engine.

Más allá de estos datos, es interesante e importante comprender la manera en que la PC Engine reparte sus colores. 

En las consolas donde la construcción gráfica se hace por un “mosaico de color”, los colores son repartidos con la ayuda de  subpaletas donde vemos las tonalidades disponibles, que constituyen un conjunto de colores compartidos por los elementos formando el decorado o fondo y los sprites.

Cuantas más subpaletas más color se comparte y la realización de sombreados/degradados es posible. Básicamente lo que seria aun degradado de color, empezar desde un color y acabar en otro con otro tono. Eso en MD es sumamente limitado y muchas veces muy cutre.

El problema de MD no es tener pocos colores, el problema real es tener poca paleta dentro de un mismo color, osea pocas variaciones dentro del mismo color.

Eso se traduce en tener que repetir el mismo color de la misma tonalidad muchas veces, porque sencillamente no tienes otro.

En efecto, una paleta compuesta de millones de colores pero con solo dos subpaletas, hará  que haya un desequilibrio en la redistribución correcta de todos los colores y de los diversos elementos del decorado. Esto seria una explicación mas técnica de lo que explico arriba.

Además, si son modificados todos los elementos que los comparten serán afectados por este cambio.  Si hay más subpaletas (tonalidades) es más posible repartir los colores  de manera homogénea sobre los mosaicos. Al final no es tan tanto tener los colores sino tener las máximas variaciones de estos, para poder hacer un reparto correcto de ellos en lo que vemos.

Por ejemplo, si la pantalla está constituida por 32x28 tejas, 896 son coloreables y cada teja puede tener un máximo de 16 colores.

Con cuatro subpaletas, no podrás colorear más de 224  de las 896 tejas (mosaicos) que comparten los mismos 16 colores. Un cambio y serán estos mismos 224 mosaicos modificados uniformemente.  Siguiendo éste razonamiento con 16 subpaletas, solo 56 elementos compartirán los mismos colores, y 28 con 32 subpaletas. 

Sobre este punto, la PC Engine está muy adelantada a su tiempo. Sus 512 colores son repartidos en 32 subpaletas proponiendo 16 colores para cada una.

16 de estas subpaletas son reservadas a los sprites y les 16 restantes al decorado.

A modo de comparativa: la Mega Drive  solo tiene 4 subpaletas  de 16 colores, y la Super Nintendo 16 subpaletas igualmente de 16 colores, pero está última usa otro automatismo que crea unos degradados de color sin esfuerzo que ocultan esta inferioridad de manera brillante.

Aunque como siempre en la SFC sin flexibilidad, lo que se traduce en que se ve exactamente igual del primer al ultimo juego de SFC, dando una sensación clonica o de repetición y de nula evolución muy desagradable.

Solo la Neo Geo pasa a la PC Engine sobre este punto preciso  pues dispone de 256 subpaletas de 16 colores.

El VCE es una de las piezas maestras de la PC Engine, este chip aliado del VDC es la alquimia perfecta para ser una consola persistente y evolucionable en el tiempo.

Si, ciertos primeros juegos de la PC Engine, como R-Type son técnicamente sorprendentes, pero con muchos defectos, los últimos títulos de la consola rivalizan e incluso sobrepasan técnicamente por muy mucho a los de las otras consolas 16 bits.

 Acumulando  los colores que se pueden mostrar de forma simultánea a una gran elección de subpaletas y un pixel clock único en la época (antes de la aparición de las máquinas de 32 bits), con una señal RGB nativo, es innegable que la PC Engine es una máquina  tecnológicamente pionera. Sobre todo cuando tenemos en cuenta que NEC  dispone de armas en la reserva como las HuCards  que mostraran algunas sorpresas agradables (como poder usarlas de ampliación de ram interna para el CD, cosa también única en consolas y después copiada en Saturn), o su puerto de extensión, otro gran secreto...