En esta entrada voy a hablar de la ultracompleja 32 bits de Sega, compleja en todos los sentidos y es que la entrada se las trae y ha sido el motivo de mi desconexión de días.

#1 El problema de las fuentes

Hablar de Saturn es enfrentarse a una hiperbole tan exageradamente positiva como negativa, especialmente lo segundo. Con una cantidad de propaganda tanto positiva como negativa que sinceramente hace que la desinformación circule a raudales respecto a la 32 bits de Sega.

Componer el puzzle de manera correcta es cuando menos dificil, lo que tengo muy claro es que existen libros de propaganda creados por fanboys  sitios web que han creado una imagen distorsionada de las capacidades de la consola. El peor de esos sitios web es Sega Retro y el peor de los libros por ser un compendio de «Tales from my ass» es el libro de Sam Pettus.

51k1ta9eSBL._SX291_BO1,204,203,200_

El autor de este libro es el mayor creador de fanfictions sobre Sega que te puedas imaginar, pero publicando un libro que es venerado por la prensa se convierte por arte de magía en una fuente válida, en un artículo de desinformación validado por la prensa. Esto no es la primera vez que ocurre, ha ocurrido en muchos otros campos (especialmente teorías de la conspiración) donde una fuente inicial que presume de fuentes sin demostrar ni una acaba por crear una narrativa completamente falsa que se reproduce como un virus y dibuja una imagen completamente falsa de la realidad histórica.

En el foro de Sega-16, con un prestigio en temas retro sobre Sega demostrado por ellos mismos y para mi uno de los mejores foros junto a Atariage. Pues en el hilo de la versión original del libro (que se público en 2012) pues no le tienen mucho cariño y las explicaciones que dan son completamente coherentes para rechazar por completo el libro de Pettusy las explicaciones que dan son completamente coherentes y veraces para rechazar por completo el libro de Pettus.

#1

Pienso que lo hemos discutido esto recientemente. Pettus falla en discutir de manera precisa las capacidades del hardware o citar sus fuentes para las disputas políticas internas. Es un asunto periodistico.

#2:

Sam Pettus e suna broma, sus «articulos» no son más que regurgitaciones de declaraciones que vienen de fan sites aleatorios juntas y a la que no se le ha hecho ninguna comprobación de los hechos o una citación. El hecho de que este intentando vender un libro basado los posts de su web pone enfasis en su personaje como un pirata intentando sacar dinero de la «locura retro.

#3:

He comprobado muchas de sus fuenes en el pasado, todas ellas llevaban la información que él estaba utilizando, el problema es que algunas fuentes son moderadamente confiables (diarios, artículos, libros, mientras que otras son de sitios poco fiables como gamefaqs y otors fansites, y la información no es atribuida directamente a la fuente en el escrito por lo que no puedes diferenciar las buenas fuentes de las poco fiables.

También, como se ha dicho el chico muy seguramente tenga un conocimiento limitado de como funiona el hardware, así que se mueve al area de la conjetura donde a menudo puede realizar errores.

#4:

Exacto, él escribe rumores de internet desfasados y sus propias conjeturas coo un hecho. Para ser justos en las especificaciones de los sistemas, estas no eran exactamente fáciles de encontrar a finales de los 90 y principios de 2000. Nadie parecia entender esos sistemas en la época excepto unos pocos desarrollando emuladores para ellos y sus antiguos desarrolladores. Deberia ir hacía atrás y comprobar su inconexa bibliografía otra vez. pero no recuerdo niguna entrevista directa hecha por él. Esto significa que la mayorñia de su conocimiento «insider» viene de terceros y no esta documentado.

Muchos de los escritos se leen como el punto de vista de Trip Hawkins y Vic Ireland de la historia de los videojuegos. Lo mejor que puedo decir acerca del trabajo en conjunto es que instiga un montón de trabajos y discusiones en la red.

#5: 

No es solo el hecho que él no entiende el hardware, como Sheath ya ha apuntado. La mayoría de la informació de Pettus viene de individuos parciales que solo quieren cotnar su parte de la historia mientras entierran al resto en la era. Es historia revisionista y me sentiría de la misma manera si fuese sobre la histiria de Nintendo, Atari o SNK
Si tu libro promociona la historia de (algo) entonces debes mantenerte lo más neutral posible y realizar una investigación de todos los aspectos del tema sobre el que estas escribiendo. Si, entiendo que la victoria ha menudo es escrita por los vencedeores, pero esto no significa que tu vayas y sin vergüenza alguna avivas las llamas solo para avanzar tu propia agenda. Casi siempre dibuja el tema en una luz negaiva, y en este caso, hace ver a Sega como una compañia sumamente dividia entre Japón y los EEUU.
Es por ello que escribir sobre Saturn es dificil, porque al igual que con el asesinato de Kennedy hay un montón de literatura desinformadora para ocultar la verdad… sobre un simple juguete, lo cual en si es es bastante patético pero no lo es tanto cuando se trata de relatar y escribir sobre como funciona el sistema a nivel técnico. Lo peor de todo es que lo que juega en contra de la información es el cruce de falsedades con la curva del olvido de los que allí estaban. Pero principalmente se ha de tener en cuenta una cosa, la mentalidad psicopática siempre miente para obtener su objetivo y mover su agenda independientemente del nivel de banalidad del tema del que estén hablando.
¿Entonces como explicamos el hardware de Saturn si hay fuentes erroneas? Pues con la misma metodología que nos permite discernir al resto del hardware en general y entenderlo, con las mismas reglas comunes y teniendo en cuenta cual es la evolución de sistemas anteriores del mismo fabricante, así como los sistemas contra los que se diseño que compitiese el sistema. ¿Entonces como es que Saturn es tan dificil de entender? Pues por las malas fuentes como ya he comentado antes por un lado y por el otro lado por la destruccion del contexto real histórico, aunque esto lo iréis viendo a medida que vayáis leyendo esta entrada.
¿Y que fuentes vamos a considerar? Pues voy a tomar como base para la historia de Saturn la que es una fuente primaria, una entrevista de 150 páginas a Hideki Sato, en concreto los elementos traducidos por Gryson para Sega-16. Dado que son las palabras del arquitecto jefe de la consola tienen una validez más grande que el libro de Sam Pettus.
#2 La Historia de la Sega Saturn
Saturn empieza sus andanzas con un proyecto llamado «Giga Drive», del cual tenemos constancia en los medios a partir de principios de 1992.
Sega Pro (Marzo de 1992)
OvpFeip
Mega Tech (Marzo de 1992)
6czbiVy (1)
Sega Power (Marzo de 1992)
 

4wYNyax

En Marzo de 1992 los rumores eran:
  • Consola de 32 bits.
  • Puede reproducir CDs y cartuchos.
  • Compatible hacía atrás con Mega Drive/Genesis.
  • Fuertemente basada en el System 32.

Genesis/Mega Drive es en teoría una versión reducida en costes del System 16 pero su hardware es distinto por el hecho que su hardware gráfico con tal de mantener la compatibilidad hacía atrás (con SMS/Mark III) y el tema costes del hardware, especialmente la memoria de video, pues hacia que el hardware gráfico no fuese igual entre ambos sistemas.

¿Pero son ciertas esas afirmaciones de los medios acerca de Giga Drive? Por las palabras de Hideki Sato podriamos decir que si, pero Sato y su equipo no eran muy fans de dicho planteamiento:

Motorola tenía el 68020, el sucesor del 68000. Era un procesador CISC de 32 bits que vendía muy bien. Sega of America, quienes estaban desarrollando sus propios juegos para Genesis/Mega Drive, querían utiliar el 68200 en la Satutn. Esto hubiese permitido versiones esencialmente actualizadas de sus juegos por aquel entonces actuales y el desarollo de librarías podría ser fácilmente hecho. Querían compatibiliad hacía adelante.

Sim embergo, desde mi punto de vista, este carecia del «salto» necesario en tecnología. Pense que estaba bien moverse hacía adelante con la continuación de la nueva tecnología pero al mismo tiempo, senti que debíamos movernos a una nueva dirección. En comparación con la generación de 16 bits, nos teníamos que alejar de las Mask ROMS (cartuchos), de la memoria en estado solido, la cual era demasiado cara. El CD-ROM se había vuelto barato pero la tecnología no era nueva. La PC Engine lo había estado utilizando durante años.

Por aquel tiempo, Hitachi estaba desarrollando el procesador SH. Después de ver las especificaciones, me quede impresionado por su alto rendimiento. Decidí postar por este, incluso cuando aún estaba en desarrollo (esto fue un movimiento precipitado por mi parte). El SH es una CPU RISC (Instrucciones reduidas). Al mismo tiempo NEC estaba desarrollando uno, la serie V. Pero senti que el Hitachi SH era bueno, así que fui con este.

Eliminando la capacidad de leer los cartuchos de Genesis/Mega Drive la organización del sistema no se ve limitada por la compatibilidad hacía atrás. El 68020 tenía una potencia varias veces inferior a la seria Vn de NEC y al Hitachi SH. ¿Podría haber ido Sega con un NEC V810 o un NEC V60? Si, podría haberlo hecho pero Hitachi era la proveedora del clon del 68K de Genesis/Mega Drive y seguramente Sato y la directiva de Sega querian mantener los mismos proveedores.

El otro tema como he comentado antes es la arquitectura, los generadores de patrones/sprites basados en el TMS9918A/TMS9928A una vez la memoria fue lo suficientemente barata como para tirar de búfer de imagen ya no tenían sentido de ser y se habían convertido en tecnología antediluviana ya a principios de los años 90. El equipo de Sato queria tener una consola que se pareciese en arquitectura a lo que Sega tenía en las recreativas en ese momento y lo más avanzado que tenían era el System32.

 

El System 32 era una placa arcade con unas capacidades muy por encima de cualquier sistema de la época, era un hardware esencialmente pensado para el 2D y era una bestia descontrolada moviendo patrones/sprites.

Cuando la Saturn fue diseñada, la industria de los videojuegos estaba en medio de la transición de los patrones/sprites al CG. En el mundo del arcade, podías ver el contraste entre placa System 32, capaz de mostrar 300.000 patrones/sprites, y la placa Model 1 que ejecutaba Virtua Fighter y mostraba el futuro de los polígonos. Para no perder todos esos assets y el saber-hacer de los años anteriores, primero pensamos sobre basar Saturn en la placa System 32, pero inevitablemente nos dimos cuenta que lo mejor seria tener capacidades CG y poligonales también, así que las incluimos ambas en nuestro diseño. Se hizo bajo el espiritu de tener lo mejor de ambos mundos, pero también nos sentimos como si estuviesemos dividiendo el bebe y no haciendo justicia para nadie. (risas)

Los componentes principales del System 32 aparte de la CPU (NEC V60) y el sistema de video son:

  • El chipset/Northbridge del sistema.
  • El Generador de fondos
  • Generador de patrones/sprites (x2)
  • El mezclador de video/color (x2)
  • el DAC de Video.

El equipo de Hideki Sato desarrollo para su consola dos chips graficos distinos, a los cuales llamaron VDP1 y VDP1. El VDP1 seria el generador de patrones/sprites, el VDP2 reuniria las capacidades de generador de fondos y mezlador de video/color. Estos dos elementos del hardware son los dos únicos elementos del hardware de Saturn que no son un desarrollo de terceros sino que son un diseño completo de Sega en lo que a su composición interna se refiere. Teniendo en cuenta que el tamaño mínimo de los patrones/sprites era de 8×8 pixeles entonces Sato y su equipo tenían que conseguir un sistema con una tasa de relleno de 19.2 Mpixeles/s y con un ancho de banda de 19.2 MB/s. Dicha tasa de relleno estaba muy por encima y duplicaba sin problemas la capacidad visual de la 3DO que era la que tenía que haber sido su principal rival en el mercado. No obstante y como comentare luego el VDP1 no salió con el rendimiento esperado.

Ahora bien, existe el dilema del huevo y la gallina. ¿Que fue antes? ¿PlayStation mostrando los gráficos en 3D y forzando el cambio en Saturn o Sega mostrado sus recreativas con gráficos en 3D a tiempo real? Sato en su larga entrevista contradice las palabras de un directivo de Sony de la época.

Sato había observado como el System 32 con algunos cambios pertinentes había sido capaz de reproducir gráficos poligonales a alta velocidad. ¿Pero cuando se tomo la decisión? El mito de PlayStation siendo mostrada y los cambios en pocos meses no tienen sentido en el timing. Curiosamente Tom Kalinske, quien fuese presidente de Sega of America en la época comento que estuvimos a punto de ver una Sega PlayStation. En el libro Console Wars nos hablan del intento de affair entre Sony y Sega. Hideki Sato por lo visto tenía charlas amistosas con Ken Kutaragi en medio del desarrollo de la Saturn y de la PlayStation, lo relata el mismo Hideki Sato.

Sony tenían unas ventas anuales de 3 billones de yenes. Hacian sus propias unidades CD-ROM. tenían sus propias fábricas de procesadores. Una vez cuando estaba hablando con Ken Kutaragi (el creador de la PlayStation) me dijo «Hideki-Chan», se referia a mi utilizando el diminutivo «chan», «Hideki-Chan, de ninguna manera me podrás vencer. ¿A donde le compráis los procesadores? A Hitachi y Yamaha. ¿Que hay de tus unidades CD-ROM? Lo estáis comprando todo. Comprando de Hitachi ellos se están llevando beneficio. No podéis hacer nada vosotros mismos. Nosotros lo podemos hacer todo nosotros mismos, incluyendo las partes a medida. Tenemos nuestras propias fábricas.» Cerca de Nakashinden, ellos tenían una fábria enorme donde hacían equiapiemitno de audio que estaban utilizando para la PlayStation. Su estructura de costes era completamente diferente

«Así son las cosas, Hideki-Chan» me conto Kutaragi. «Deja el negocio del hardware. ¿Por qué no hacer solo software? Os daremos un trato favorable» Quería que nos hiciesemos un editor independiente haciendo juegos para ellos. Habíamos estado mucho tiempo en el negocio del hardware, para bien o para mal. ¿Por qué volvernos en un editor independiente en ese momento? Habíamos sido exitosos en America teniendo poco entusiasmo y eso hacía imposible que dejaramos el negocio del hardware.  Quizas si la Mega Drive, Genesis, hubiese sido un fiasco, las cosas hubiesen sido distintas pero teníamos un extraño sabor de éxito.

La historia de Sato queda doblemente corroborada a través del libro Console Wars, el contexto no obstante no es al final de Dreamcast sino durante el tiempo previo al lanzamiento de PlayStation y Saturn. PlayStation empezó su desarrollo a principios de 1992 pero no tuvo luz verde hasta verano de ese mismo año.

El 12 de Octubre de 1992, Kalinske se reunió con Olaf Olafsson quien era el máximo directivo y representante de la aventura de Sony en convertirse en un fabricante de consolas. Si Kutaragi era al creador del hardware, Olafsson era el encargado de conseguir alianzas en el software e intento captar a la parte americana de Sega para su causa y se ha de decir que casi lo consiguen. Ahora bien… En el caso de Hideki Sato debian convencer de que el hardware que les ofrecían era mucho mejor que el que estaba haciendo Sega. La leyenda de Sega añadiendo el segundo SH2 a la ecuación no se dio a finales de 1993 ni en los meses previos sino a finales o principios de 1993, momento en que Hideki Sato tomo la decisión de añadir el segundo SH2.

Las malas lenguas dicen que Hayao Nakayama, quien era el presidente de Sega en ese momento era el que estaba en modo «Hitachi si o si» condenando a Saturn a ser un sistema ineficiente en comparación con la PlayStation de Sony. Sega podría haber optado por el hardware de Sony y no perder las ingentes cantidades de dinero pero Sega creyo que Sony no era nada y estaban borrachos del éxito. No obstante eso es lo que hizo evolucionar el hardware de Saturn a ser una versión doméstica del System 32 a ir un poco más allá.

La Saturn tenía una sola CPU al principio. Entonces Sony apareció con su PlayStation basada en poligonos. Cuando estaba diseñando al principuo la arquitectura de Saturn yo estaba centrado en los gráficos por patrones/sprites, el cual eran los graficos principales hasta ese punto.

Así que decidi ir con los poligonos (debido a la PlayStation). Sin embargo, no habia mucha gente en Sega que supiese como desarrollar dicho software. Por supuesto teníamos a Yu Suzuki y si departamento arcade, pero yo no podría arrastrarlo a él al departamento de consolas. Él estaba desarrollando títulos como Virtua Fighter y Virtua Racing. La experiencia de todos los desarrolladores que teníamos era en gráficos por patrones/sprites, por lo que parecía que no había otra elección que ir con los patrones/sprites.  Sin embargo, yo supe que necesitábamos polígonos. Utilizando varios trucos. añadiendo un motor goemétrico y más, lo cambie todo, al final, justo como la PlayStation, teníamos pseudo-polígonos construidos en una base de patrones/sprites. No tenía otra elección que diseñar una arquitecura basada en patrones/sprites. Habiendo dicho esto, después de algún progreso significativo, los pseudo-poligonos representaron un «salto» en los gráficos de cierta mera. Habia una distinción de las cosas. El procesador era muy poderoso y podía soportar 4.000 e incluso 5.000 patrones/sprites (por fotograma), Y pense que podríamos hacer funcionar los gráficos utilizando un generador de patrones/sprites tras añadir el Yamaha y tal.

Sato creyo que añadiendo una serie de cambios puntuales a la consola podría competir contra la PlayStation de Sony. Dichos cambios se realizaron durante 1993 donde Giga Drive fue evolucionando progresivamente a lo que acabo siendo el hardware definitivo de Saturn. Sega llevo completamente en secreto el desarrollo de su consola y empezó una carrera espacial basada en el 3D pero con Sega habiendo tomado como base un hardware pensado para el 2D al que estaban tuneando a última hora por el cambio repentino de acontecimientos, aunque el secretismo iba en aumento, Sega sabia que Sony estaba desarrollando una consola para gráficos en 3D a tiempo real. ¿La ventaja de Sony? Su estructura de costes era completamente mucho mejor y la arquitectura de Saturn era demasiado cara hasta el punto de no ser rentable para Sega.

Así que lanzamos la Saturn en 1994, como dije antes, habían dos SH-2. Además, la memoria era muy cara en ese tiempo y estabamos utilizando una gran cantidad, por lo que los costes eran muy altos. Por cada Saturn vendida, perdíamos unos 10,000 yenes ($100). Así es como el negocio del hardware funciona. Pero el objetivo era recuperar el dinero de las regalías del software. Si había montones de editores independientes, montones de juegos vendidos y conseguíamos 2000 yenes por cada juego entonces era posible. Sin embargo si las ventas de software eran débiles y por cada consola vendida estabamos perdiendo de 5000-6000 yenes. ¿Que es lo que iba a pasar desde la pespectiva de hacer dinero? Dejaríamos de hacer consolas y eso se convirtió en un enorme problema.

Cada mes, e incluso cada semana en el caso de Sega, nos reuníamos para examinar la situación. Cada departamento informaria donde se encontraba respecto a los objetivos. Así, que si imaginad que las ventas al final del año era por decir, de 3 billones de yenes y el objetivo de beneficios eran de 300 millones de yenes. Pero esperad, lo beneficios estabán en rojo. Los beneficios son un factor muy importante. ¿Que era lo que decidíala parte de hacer dinero? Elos deficían que no hacía falta tener ventas de 3 billones de yenes. Con 2 billone de yenes era suficiente. En otras palabras, ellos dejaban de vender 1 billon de yenes en hardware. De esta manera, si cada unidad vendida estaba perdiendo 5000 yenes, y lo extendiamos a 20.000 unidades, eso eran 100 millones de yenes perdidos. Dejando de vender esas 20.000 unidades, de alguna manera se convertía en 100 millones de yenes de beneficios. Así que echaron el freno en lo que a las unidades distribuidas. Incluso cuando habia gente queriendo comprar la consola, Sega no quería venderla, debido a que cuanto más vendían más dinero perdían.

Desde la perspectiva de los editores independientes, vieron que Sega estaba frenando las ventas de la Saturn. Cuantos más consolas hubiesen se venderían m´s juegos, pero si las ventas de la consola estabán siendo limitadas eso creaba un problema serio. Como se dice, la pobreza embota al ingenio. Eso llevo a un ciclo de feedback negativo.

Lo peor es que perdían $100 con la consola de lanzamiento a $399 y ellos pensaban que Sony lanzaría su sistema a ese precio. Pero Olaf Olafsson en el E3 de 1995 mato definitivamente a Sega sin ni siquiera haber lanzado sus consolas a occidente y solo en Japón con el siguiente anuncio de última hora:

Con un precio de $299 Sega no podía competir, habian perdido la guerra porque Sega no podía rebajar más el precio de su consola. Por si fuera poco el hardware de la Saturn no era lo suficientemente bueno para el 3D en comparación con la consola de Sony. Sega en vez de hacer borrón y cuenta nueva una vez supieron que camino tomaría Sony (y Nintendo) decidió continuar con el hardware que habían estado desarrollando. Si bien Nakayama era responsable de la elección de los SuperH de Hitachi como CPU. del subsistema gráfico se encargaba Hideki Sato. Quien recordemos fue quien diseño el VDP de Genesis/Mega Drive. Sato creía que el VDP1 y el VDP2 podían plantarle cara a lo que pudiese ofrecer Sony y es por eso que decidió re-posicionarlos para la ejecución de gráficos en 3D a tiempo real. Sega no cambio en pocos meses de parecer e incluso ya sabían mucho antes de la presentación oficial de PlayStation y sus demos técnicas hacía que sentido iba Sony.

¿Pero por qué no hacer borrón y cuenta nueva? ¿Por qué no volcar la mesa por completo?

tableflip02

Pues por el hecho que el 3D era una tecnología exótica para Sega en aquel momento entre los desarrolladores de Sega. Sony sacrifico en parte las capacidades 2D de PlayStation haciendo que los juegos en 2D se compusieran por triangulos simulando patrones/sprites «sacrificando» el hardware 2D en ese aspecto, el equipo de Sato tomo el otro camino y les salio relativamente mal la jugada, pero les salio mal por el hecho que como veréis más adelante cuando detalle el hardware, el VDP1 no tenía el rendimiento esperado con tal de ser competitiva.

Pero en Septiembre de 1993, antes de la presentación oficial de PlayStation como consola en 3D, Sega ya estaba dejando a entender que su consola iba a tener capacidades para los gráficos en 3D a tiempo real.

DjIxbF2UUAE1_5P.jpg

Sega sabía muy bien el juego de Sony y Nintendo, lo que ocurre es que juego con muy mala mano su partida y lo pago muy caro.

#3 El Hardware de Saturn

Saturn es un sistema sumamente complejo en el aspecto que hay sobrecomplicaciones absurdas con varios chips en elementos donde Sega podria haber optado por una solución más simple como es el sub-sistema del CD-ROM y el sub-sistema de sonido.

SaturnBoard

Saturn rompe por completo con la configuración de las consolas de sobremesa de Sega anteriores a la misma para optar por un diseño derivado del System 24 y del System 32 pero unico a su manera. En todo caso pese a las criticas hacia Saturn el salto técnico respecto a la Genesis/Mega Drive es impresionante, incluso tratandose de una consola basada en patrones/sprites se ha de tener en cuenta que si la comparamos con el hardware de la época es mucho más avanzada. ¿En que me baso? En que tecnicamente barre el suelo con la sobrevalorada en aquella época 3DO y el único motivo por el cual es criticada es porque palidece ante ese milagro de la ingeniería que es la PlayStation original.

saturncartucho1

Por ejemplo el bloque del CD-ROM y el bloque del audio es bastante complejo y tiene un trabajo de sobre-ingenieria sobre el mismo que encarecia enormemente el precio final de la consola en comparación con otros sistemas contemporaneos. ¿Como se organiza todo? Pues a través de la Sega Control Unit, un chip que se encarga de la comunicación entre las diferentes unidades y que tiene 3 canales distintos:

  • A-Bus: Comunica el SCU con el sub-sistema del CD-ROM y con el slot de cartuchos.
  • B-Bus: Comunica el SCU con el VDP1, el VDP2 y el sub-sistema de audio.
  • C-Bus: Comunica el SCU con los 2x Hitachi SH2.

Esto significa que los 2MB de memoria principal que tiene el sistema son exclusivos en acceso de ambos SH2. El SCU funciona a unos 14.3 Mhz de velocidad pero se comunica con un bus de 28.6 Mhz de velocidad con los diferentes canales existentes, pero siempre tomando un canal de origen y otro de destino, excepto en las partes donde haya una memoria ROM y por tanto solo de lectura. El SCU en realidad es un pseudo-blitter camuflado desde el momento en que tiene una unidad DSP en su interior con el que se pueden realizar una serie de instrucciones con el flujo de datos. ¿El problema? El DSP en el SCU no es más rápido que el uso del segundo SH2, es una reliquia de cuando Saturn se basaba en una sola CPU e incluso las herramientas para facilitar el desarrollo como es el SegaGL prescinden del mismo. ¿El motivo? La instrucción MAC (Suma+Multiplicación en un ciclo) es realizada por el SH2 de forma mucho más rapida, dejando al DSP en el SCU como un vestigio de una versión preliminar del diseño de la consola.

#3.1 2x Hitachi SH2

La CPU es un Hitachi SH2 colocado en modo maestro-esclavo, normalmente solo un SH2 esta activado y los desarrolladores tienen que invocar al segundo SH2, no se trata de una configuración multinúcleo desde el momento en que ambos chips comparten el acceso a la RAM del sistema, pero no se trata de una en la que una CPU desactiva a la otra a la hora de acceder a memoria, ya que cada uno de ellos tiene unos 4KB de Cache L1 que se puede utilizar como memoria Scratchpad RAM y por tanto como RAM privada, convirtiendo al segundo SH2 en un coprocesador del primero y haciend

La instrucción MAC del SH2 es realmente útil para la multiplicación/suma de matrices y esto forma parte de cualquier pipeline en 3D. El SH2 hubiese servido como un poderoso motor geométrico de triangulos si el VDP1 hubiese tenido un mecanismo para rasterizarlos, eso si, el problema es que no hubiese llegado al rendimiento de la PlayStation de Sony, pero se le acerca bastante,  el caso es que quiero que la gente entienda que el doble SH2 no es el cuello de botella si hablamos del rendimiento, no obstante la decision de Hideki Sato de escoger este procesador para Saturn cuando no estaba ni terminado le acabaría pasando factura a Sega.

Al principio no había compilador, debías programar el SH en ensamblador. La gente de Sega era buen en ensamblador, es lo que habían estado utilizado en el 68000. C y C++ eran demasiado lentos para utilizar.

Sin embargo, los editores y desarrolladores independientes tuvieron problemas con la programación del SH en ensamblador y ahí había dos CPUs con un CD-ROM. Les preguntamos si podían hacer juegos sin librerías de desarrolllo. Tardaban una semana y apenás podían mostrar algo en pantalla, aún menops hacer un juego. Nuestro soporte  a terceros era horrible. Sin embargo, si trabajabas un poquito podías tener un monton de patrones/sprites, con escalado, rotación y todo eso.

Y lo dice quien fue el arquitecto jefe del sistema, Sega durante la vida de la consola acabaria desarrollando una serie de librerías de uso común como la Sega Basic Library, la Sega Graphics Library… Pero la situación en lo que es el desarrollo no mejoraría. La elección del doble SH2 complicaría las cosas de sobremanera a los desarrolladores quienes vieron que el tiempo necesario en conseguir unos resultados mínimos era mucho más grande que la competencia  y eso era dinero de más a gastar en la producción de los juegos. En realidad en la era de los 8 y los 16 bits no seria común hacerlo pero 3DO y luego PlayStation le darian una importancia capital al middleware de cara a facilitar el desarrollo de los juegos, los problemas de Sega con Saturn influenciarian enormemente en una serie de decisiones tomadas en Dreamcast, donde Sega buscaría tener una consola donde los editores y desarrolladores independientes pudiesen portar los juegos con toda facilidad y sin complicaciones.

Una de las preguntas que siempre me he hecho es… ¿Como es que Sega no opto por el SH3 para Saturn como CPU única?

1200px-Hitachi_SH3_CPU

El SH3 añade funcionalidad DSP que hubiese reemplazado sin problemas al segundo SH2 y hubiese permitido alcanzar una tasa geométrica mucho más altas que el segundo SH2. Aparte de integrar una unidad MMU y poder absorber buena parte del mecanismo del SCU reduciendo costes en el sistema final. Esto hubiese facilitado las cosas pero hubiese retrasado la consola al menos un año aunque visto los problemas de Sega con Saturn quizas les hubiese salido más a cuenta, en todo caso el cuello de botella de Saturn no era la CPU precisamente, pero si un dolor de cabeza debido a la configuración de doble núcleo en una época donde desarrollar para varios procesadores no era la habitual y donde las herramientas de desarrollo eran realmente pauperrimas.

#3.2 VDP1

El VDP1 es un generador de patrones/sprites pero es diferente en funcionamiento al de la Genesis/Mega Drive. Su funcionamiento se puede comparar al del MARIA de la 7800 en el hecho de que tenemos una lista de pantalla a partir de la cual se genera la imagen, solo que en el caso que nos ocupa el VDP1 trabaja a nivel de pantalla completa dado que tenemos un búfer de imagen, el cual como mucho puede ser de 256 pixeles en vertical y cualquier número de pixeles en horizontal siempre y cuando sea multiple de 8 y quepa en el búfer de imagen que es de 256KB. Los patrones/sprites pueden ser de cualquier tamaño incluyendo el framebuffer entero y con unos 4, 8 o 16 bits de color (en realidad 15 bits+bit transparente).

El VDP1 es el cuello de botella de todo el hardware de Saturn y el responsable primero de su enorme complejidad por un hecho muy concreto, el equipo de Hideki Sato en vez de solventar los problemas de rendimiento del VDP1 lo que hizo fue hacer mucho más complejo el resto del sistema e incluso añadir el VDP2 como solución de última hora. El primer problema del VDP1 es como tiene organizada su memoria, en vez de tener su memoria organizada en un solo pozo de memoria lo que tenia eran dos pozos que erán monopuerto que eran la VRAM y el Framebuffer, entender el VDP1 y sus limitaciones es esencial para entender a la Saturn.

Supongamos que queremos llenar todo el búfer de imagen con un solo patrón/sprite que ocupe todo el espacio y que sea de un solo color (una tontería, lo se), ¿como medimos el rendimiento?La formula general para rellenar un patrón/sprite de un solo color era:

70 Ciclos+(ancho*alto*2)+(alto*5)

¿Cual era el motivo de ello? Como veremos más adelante de manera que nadie entiende la Color RAM se situaba en unos 4KB internos en el VDP2 por lo que una simple lectura de la Color RAM duplicaba la cantidad de ciclos, si el VDP1 hubiese tenido una Color RAM interna y la capacidad de leer y escribir al mismo tiempo en la misma entonces.

70 Ciclos+(ancho*alto)+(alto*5)

En esta parte voy a hablar de varios escenarios posibles para que veáis como fluctua el rendimiento del VDP1 con una configuración adecuada y con otra que no lo es.

En el primer ejmeplo, supongamos que tenemos una imagen de 1024*256 pixeles con un solo color, entonces…

70+(1024*256*2)+(256*5)= 525.638 ciclos

28.6 Mhz/ 525.638 ciclos = 54.41 patrones/sprites (dado que el sprite ocupa ocupa todo el bufer de imagen).

54,41 * 1024 * 256= 14.27 Mpixeles/seg

Si el VDP1 tuviese la Color RAM en su interior entonces:

70+(1024*256)+(256*5)= 263.494 ciclos

28.6 Mhz/263.494 ciclos =108.54 patrones/sprites

108.54* 1024 * 256= 28.6 Mpixeles/seg

Pero para conseguir dicho rendimiento hubiese sido necesaria una memoria a 28.6 Mhz o permitir que el VDP1 pudiese escribir varios pixeles en el bufer de imagen por ciclo. Si hablabamos de mapeado de texturas o de aplicar un patrón/sprite entonces la formula general pasaba a ser:

70 Ciclos+(ancho*alto*3)+(alto*5)

En el caso de haber tenido la Color RAM en el VDP1 entonces la formula de rendimiento hubiese sido:

70 Ciclos+(ancho*alto*2)+(alto*5)

Pero lo realmente interesante es la tercera parte de la formula, los 5 ciclos eran la latencia de acceso a la VRAM, la carencia de una cache de texturas dentro del VDP1 en comparación con PlayStation y N64 era el mayor handicap de la máquina de Sega, con unos cambios muy simples Sega Saturn hubiese sido altamente competitiva contra PlayStation y Nintendo64 a nivel técnico.

X Y VDP1 VDP1+CRAM VDP1+TC VDP1+CRAM+TC
8 8 302 238 262 198

Tomando como base el VDP1 a 28.6 Mhz podemos saber a nivel teórico el rendimiento que hubiese tenido un VDP1 levemente mejorado a nivel poligonal con el mapeado de texturas.

VDP1 VDP1+CRAM VDP1+TC VDP1+CRAM+TC
92.715 117.647 106.870 141.414

Esto son poligonos por segundo, con mapeado de texturas y cada uno con un tamaño de 8×8 pixeles, lo que nos da las siguientes tasas de relleno:

VDP1 VDP1+CRAM VDP1+TC VDP1+CRAM+TC
5.933.775 7.529.412 6.839.695 9.050.505

Las cuales están por debajo de la tasa de relleno máxima de Saturn por lo que los cambios hubiesen sido mínimos en el esquema de memoria, pero aún nos queda el último escenario que es el de Texturizado+Gouraud Shading, cuya formula general para el VDP1.

Ciclos para el mapeado de texturas+(ancho*alto*3)+(alto*5)

Si os fijaís es una recursión de la misma formula, por lo que podemos sacar una tabla de rendimiento con los otros tres escenarios con los VDP1 mejorados.

X Y VDP1 VDP1+CRAM VDP1+TC VDP1+CRAM+TC
8 8 534 406 454 326

A nivel poligonal esto nos daría el siguiente el siguiente rendimiento:

VDP1 VDP1+CRAM VDP1+TC VDP1+CRAM+TC
52.434 68.966 61.674 85.890

Y en cuanto a la tasa de relleno:

VDP1 VDP1+CRAM VDP1+TC VDP1+CRAM+TC
3.355.805 4.413.793 3.947.137 5.496.933

¿Como se justifican estas cifras tan bajas? El equipo de Hideki Sato no planteo que el VDP1 se encargase de dibujar toda la escena sino solamente el plano de patrones/sprites y de poligonos dejando el resto del apartado gráfico como son los fondos al VDP2. No obstante el rendimiento del VDP1 no es solo inferior al generador de patrones/sprites del System 32 en el que parecía basarse sino también al System 24.

system24spec

La única «ventaja» era el hecho de incluir sombreado Gouraud y mapeado de texturas, pero el motivo por cual no se podían alcanzar enormes tasas de relleno como en el System 32 era que la máquina recreativa de Sega tenia un ancho de banda realmente increible que permitia esos 300.000 patrones/sprites pero Sega por motivos de costes en Saturn opto por limitar al maximo al generador de patrones/sprites. Esto de cara al 3D tuvo unos efectos nefastos sobretodo si tenemos en cuenta que los polígonos rasterizados en realidad no son más que patrones/sprites. ¿El otro gran error? No dar soporte a triangulos, el cual es la forma básica para el renderizado en 3D y la que se acabo estandarizando. Esta carencia hacia que los desarrolladores tuviesen que re-modelar por completo los personajes con efectos estéticos realmente malos en los juegos en 3D y es que el triangulo es el poligono básico a partir del cual generar el resto de figuras geometrias, el VDP1 podia manipular sin problemas los patrones/sprites a niveles nunca vistos en otra máquina en 2D pero Sato y su equipo escogieron realmente mal.

VDP1Distorted

Por otro lado… ¿De donde salen los 70 ciclos iniciales? En el caso del VDP1 la VRAM esta dividido en dos memorias distintas que son la VRAM y el Framebuffer. El Framebuffer son dos memorias de 256KB que hacen de front buffer y back buffer y son conmutables en su función, el bus de escritura esta conectado al VDP1 y el bus de lectura al VDP2 pero dicha memoria es de un solo puerto por lo que cuando el VDP1 o el VDP2 están accediendo a una memoria la otra parte no puede, esto hace que Sega tenga que colocar dos chips de memoria. La VRAM por otro lado almacena la lista de pantalla (junto a los mapas de texturas y a los mapas para el sombrado Gouraud) en unos 512KB. Cada elemento de la lista de pantalla tiene asociados unos 32 bytes de la VRAM aunque un objeto puede ocupar varios slots de 32 bytes en la VRAM debido al mapa de texturas y al mapa para el Gouraud.

La PlayStation de Sony esta alejada también del rendimiento del System 32 en cuanto a tasa de relleno, esta limitada en teoria a 4000 patrones/sprites/poligonos de 8×8 pixeles a 30fps, esto son 120.000 pol/seg y dada la velocidad de la GPU de PSone que es de 33 Mhz esto son unos 275 ciclos. Durante años se ha especulado acerca de que hubiese ocurrido si la VRAM y el Framebuffer del VDP1 hubiesen estado unificados en un solo pozo, pero sobretodo si Sega hubiese creado un chipset en 3D como la GPU de la primera PlayStation. ¿Como es que Sega no lo hizo? Mi hipotesis es que Sato y su equipo desconocían el como, por eso el VDP1 es como es y por eso de cara a la siguiente generación fueron a compañias externas. Hideki Sato no sabía como realizar un chip para el 3D a tiempo real.

Ahora bien, con las tasas de relleno del VDP1 existe un problema enorme, de ahí la existencia del VDP2 para generar los fondos y paliar dicho problema, pero esto al mismo tiempo resulta en un encarecimiento del hardware. En un entorno completamente 2D el VDP2 tiene sentido, pero en el nuevo paradigma que se estaba formando no lo tenía.

VDP2

El VDP2 es en realidad un chip de audio re-transformado en un chip gráfico o más bien re-posicionado que trabaja con hasta 5 pistas simultaneamente, siendo una de las pistas el framebuffer del VDP1 y otras unos cuatro fondos completos que se encuentran almacenados cada uno de ellos en 128KB de memoria, teniendo unos 512KB de memoria de memoria asignada. Lo que hace el VDP2 es combinar de dos a cinco planos distintos, cada una de unos 320×224 y permitiendo efectos de blending entre las diferentes capas y unas capacidades de manipulación de cada una de ellas impresionante.

Sus capacidades se resumen en la siguiente lista:

  • Puede leer el búfer frontal (mientras el VDP1 genera el búfer trasero) del VDP1 y manipularlo como si fuese un patrón/sprite con muy pocas instrucciones al vuelo y sin intervención de la CPU. Por ejemplo puede rotar a tiempo real todo el búfer de imagen sin que la CPU y el VDP1 tengan que calcular y rotar uno por uno los patrones/sprites.
  • Puede generar cuatro planos de scroll o dos planos rotatorios en un mismo fotograma.
  • El VDP2 puede aplicar efectos de transparencia sobre los diferentes elementos, eso si, la transparencia es del tipo aditiva y no multiplicativa por lo que su precisión es menor. Este truco es utilizado por juegos como Burning Rangers y Grandiapara aplicar transparencias.
  • El VDP2 puede operar a nivel de pixel, patron/sprite/quad, búfer de imagen entero a la hora de realizar una manipulación.
  • La siguiente serie de videos demuestran las virguerias visuales a nivel de gráficos en 2D que se podían hacer gracias al VDP2.

Las cuales podéis ver mostradas en el siguiente video:

¿El motivo por el cual lo comparo con un chip de audio? Pensad en cuatro pistas de audio que se pueden combinar entre si y tendreís la respuesta de su naturaleza real. El VDP2 es un procesador gráfico atipico, no tiene igual en lo que a gráficos se refiere, es más, es mucho más avanzado que cualquier procesador gráfico de fondos incluidos los utilizados por la propia Sega en sus recreativas y es una descompensación curiosa en Saturn. En realidad en la transición al 3D a tiempo real una pieza como el VDP2 es un concepto sin sentido pero que sirve para darle una personalidad propia a Saturn y tapar las limitaciones del VDP1 o más bien de la propia Sega a la hora de hacer un hardware para el 3D a tiempo real en esos tiempos.

El VDP2 además tiene una serie de pines de entrada, esto es importante porque es posible a través del slot para la tarjeta del VideoCD enviar los bloques de los fotogramas que las tarjeta del VideoCD va descodificando al vuelo. Eso si, la tarjeta del VideoCD sse puede conectar a su puerto de expansión correspondiente pero no utiliza el Bus A ni el Bus B, simplemente cuando el SH que es el controlador del CD-ROM encuentra una pita VideoCD envia los datos a descodificar al puerto de expansión MPEG donde se puede colocar dicha tarjeta y de ahí va enviando los bloques codificados al VDP2 para que este los muestre como una capa más. En ese ambiente no hay ningún tipo de interactividad pero es curioso recalcar como el VDP2 tiene una serie de pines de entrada donde colocar un fondo adicional desde donde operar.

250px-Saturn_MK-80310

El otro elemento interesante relacionado con el VDP2 es el slot de cartuchos, este esta conectado a dos buses, en primer lugar al Bus A por lo que puede ser accedido por el SCU para pasar datos a B o C y por el otro tiene la misma conectividad con el VDP2 que la tarjeta MPEG. ¿Hubiese sido posible un chip de expansión? Esto lo tratare en la subsección de la Saturn V08, En todo caso el VDP2 es un generador de fondos impresionante y convierte a Saturn en una bestia parda de las 2D que solo sería superada a base de tasa de relleno por consolas posteriores.  La enorme ventaja que tiene el VDP2 es su mayor ancho de banda y por tanto el hecho de poder dibujar la escena a 28.6 Mpixeles/seg de tasa de relleno. Sea cual sea el caso en Saturn el hecho que el VDP2 sea el que este conectado a la salida de video hace que no sea posible prescindir por completo del VDP2 en la composición de la escena.

Para terminar y sobre el slot de cartuchos. Dado que su memoria pertenece al Bus A y no al B (VDP1 y VDP2) ni al C (SH2) en realidad queda como una memoria de reserva para ambos lados con tal de paliar los tiempos de carga de la consola en ciertos escenarios.

4mb saturn RAM.jpg

#4 Saturn V08, Sega Eclipse y Sega Pluto.

La Saturn V08 fue una joint venture entre Sega y la por aquel entonces novel Nvidia con tal de sustituir el complejo hardware de Saturn y tener una arquitectura mucho más barata en costes.  En Sega-16.com hay una curiosa entrevista con Mike Wallis, miembro del Sega Technical Institute, donde en una parte de la misma se puede leer lo siguiente:

V081

La plataforma secreta V08, y el medio nos hace referencia a otra entrevista, una con Peter Morawiec, donde también se menciona dicha plataforma en una entrevista concedida al medio:

V082

Ya tenemos nombre para el proyecto y por lo que vemos se trataba de una versión de Saturn en la que Nvidia estaba metida en el ajo pero… ¿Que relación pueden tener Nvidia y Sega? Bueno, Nvidia había desarrollado por petición de Sega un chip llamado NV1 (fue el primero que hicieron) con la misma forma de renderizado que Saturn con tal de facilitar las conversiones de juegos de Saturn a PC.

c596

La idea era no solo reemplazar el VDP1 sino también el complejo chipset de audio de la consola.

El procesador NV1 fue fabricado por SGS-THOMSON Microelectronics bajo el modelo STG2000, fue una tarjeta multimedia PCI lanzada en 1995 y vendida como Diamond Edge 3D. Presentaba un núcleo de gráficos completo 2D/3D basado en mapeo cuadrúple de texturas, VRAM, con una tarjeta de sonido de 32 canales y 350 MIPS integrada y dos puertos compatibles con Sega Saturn. También tenía un puerto para joystick que requería de un adaptador de RJ45 a DB 15

Pero lo que Sega le pidio a Nvidia era una variación que le permitiese sustituir el VDP1 y ser perfectamente compatible. El objetivo no era una sucesora de Saturn sino una Saturn low cost y quien sabe si algo más potente.

Edge3DSpecs

¿Como termino la historia? Yu Suzuki a quien no le gustaba el hardware de Saturn tenía unas presiones increibles para portar Virtua Fighter 3 del Model 3 a Saturn, algo que resultaba imposible. Suzuki rechazo por completo el concepto de la Saturn V08 al pedir un sistema con la capacidad de trabajar con triangulos matando por completo el proyecto.

En realidad Saturn V08 era un proyecto interno de Sega of America que queria recuperar el liderato pero no podía hacerlo con Sega Japón limitando la cantidad de consolas que se fabricaban. Es más, Kalinske creía que el boom de Sonic estaba fresco y ante la negativa del equipo de Yuji Naka de hacer un Sonic decidieron hacer el suyo propio, el nunca lanzado Sonic X-Treme que empezó su desarrollo en la V08, para ser trasladado a la Saturn estandar más tarde y caer para siempre en el olvido.

Otro de los bulos de los medios respecto a Saturn,  fue el llamado Project Eclipse.

SegaEclipse1

A finales de 1995 se empezó a hablar del mismo para ser resucitado en 1997 de nuevo, se hablaba de que era para la segunda parte de Tomb Raider, dando a entender de nuevo que Saturn no podía competir de tu a tu con PlayStation y necesitaba parches de hardware. Cuando el juego se cancelo para Saturn (realmente nunca estuvo en desarrollo para la misma) se fueron al garete los rumores sobre el add-on. También se comento de que el add-on tenía que servir para ejecutar Virtua Fighter 3 en Saturn… versión que nunca hemos visto y que después de tantos años dudo personalmente que exista. Es más, la propia gente de AM2 llego a confirmar su inexistencia:

1UP: Muchos, muchos rumores han surido acerca de la misteriosa versión de Saturn de Virtua Fighter 3. Que iba incluso a utilizar un cartucho de actualización de hardware. ¿Nos podrías dar alguna información acerca de como el VF3 de Saturn se estaba desarrollando y hasta donde se llego?

HK: No he oido jamás nada acerca de la actualización de hardware que mencionaste, así que… No te puedo decir nada. Por aquellos tiempos el Sr. Suzuki estaba trabajando en conseguir que Shenmue despegará.

1UP: ¿Estuvo alguna vez en la rampa de lanzamiento, o todo el mundo asumio que se haria para Dreamcast?

HK: VF3 tenia elementos variables en el escenario, como pisos a diferentes alturas y cosas así. La Saturn no era capaz de renderizar estos. Así que lo mantuvimos a la espera hasta la DC.

Esto es una hostia muy grande a los medios de la época, sabemos que Virtua Fighter 3 no existe en Saturn, nunca nos han demostrado su existencia pero Shenmue si que tuvo un tiempo de desarrollo en Saturn e incluso tenemos un video del mismo.

El Shenmue de Saturn jamás llego a salir, las malas lenguas afirman que el juego corría entre 12-15 fps y que no era viable realizarlo en dicha consola, especialmente con Dreamcast a la vuelta de la esquina. Fue en 1997 cuando muchos de los juegos ya en 3D y en desarrollo de terceros empezarón a cancelar por completo las versiones para Saturn. Sega no tenía ningún interés en seguir vendiendo Saturn porque le provocaba perdidas, la consola tenía versiones tecnicamente inferiores que no dejaban en buen lugar a la consola y por si fuera poco la sucesora estaba a la vuelta de la esquina. Saturn habia nacido muerta y Sega la había mantenido viva mientras desarrollaba una sucesora con cara y ojos, cuando Sega tuvo el hardware finalizado es cuando decidieron descartar a Saturn, una consola que fue odiada incluso dentro de la propia Sega.

Otro de los intento de Sega America de intentar levantar Saturn fue Sega Pluto, una versión de Saturn con el Netlink (modem de la consola) de serie.

ALdif2Ql

El objetivo era apostar por el juego online que empezaba a ser incipiente como factor diferencial respecto al resto de sistemas y poder salvar a Saturn, pero la decisión de Sega Japón de apostar por Dreamcast era ya irrevocable en aquel momento y Sega America tuvo que echarse hacía atrás, bueno, la realidad es que Sega Japón después de considerar a Sega America como un grano en el culo y una división rebelde decidió purgarla por completo.

Y con esto termino, la entrada que me ha resultado un buen dolor de cabeza, en serio.

PD: Perdón por la ausencia.