Blog personal sobre tecnología

Disruptive Ludens

¿Cómo hubiese sido el hardware de Dreamcast 2?

Dreamcast 2 FAKE

Esta semana se cumplen 20 años desde el abandono de SEGA como fabricante de consolas de videojuegos. Mientras os lamentáis de lo viejos que sois, me incluyo, os invito a un ejercicio de como hubiese sido una eventual Sega Dreamcast 2.

Antes de nada, aclarar que esta entrada es un what if. El cual se basa en Sega lanzando una sucesora de Dreamcast en vez de abandonar por completo las consolas.

Hitachi SH5: La CPU de Dreamcast 2

Lo primero que necesita todo sistema es escoger una CPU. Siendo el Hitachi SH-5 el que hubiese tenido todos los números para ser la CPU de una eventual Dreamcast 2.  ¿Por qué el Hitachi SH5? Es compatible hacía atrás con el Hitachi SH-4 de Dreamcast.

Hitachi SH5

Desgraciadamente esto la colocaría por debajo de las CPUs de Game Cube y Xbox en el cálculo de enteros, pero al nivel de la de Xbox en coma flotante y por encima de la CPU de Game Cube.

Hitachi SH5 Diagram

El puerto PCI nos lo podemos ahorrar en esta versión, pero el resto de componentes nos servirá para construir al resto del sistema.

DDR RAM para Dreamcast 2

Sobre la interfaz de la RAM en el Hitachi SH5 podemos leer lo siguiente:

Una interfaz para dispositivos externos SDRAM y DDR DRAM,
capaz de manejar datos de 16/32/64 bits hasta a 133 MHz
de velocidad.

La DDR3 a 133 MHz de memclk es la llamada DDR-266 o PC2100 que apareció a principio de la década de los 2000. Esto son 2.1 GB/s de ancho de banda, en comparación con los 0.8 GB/s de ancho de banda de la RAM de Dreamcast.

La RAM tendría la misma funcionalidad que la RAM de la primera Dreamcast, por lo que serviría solamente como RAM para el SH5. ¿Su capacidad? Dado que Xbox tenía DDR-400 con un bus de 64 bits y 64 MB de memoria, lo podemos extrapolar en 32 MB de RAM para esta Dreamcast 2 con la mitad de chips de memoria que la Xbox.

PowerVR Series 3

El rasterizador gráfico, que no GPU, sería el PowerVR Series 3 aparecido en las Kyro. Como curiosidad tanto la CPU como el chip gráfico tendrían como origen el mismo proveedor, ST Microelectronics.

La versión del PowerVR Series 3 para nuestra supuesta Dreamcast 2 tendría las siguientes especificaciones:

  • Velocidad de reloj de 133 MHz.
  • 2 ROPS: 266 Mpixeles/s.
  • 2 TMUs: 266 Mtexeles/s.

Cuando Dreamcast fue presentada Sega cifro su capacidad geométrica en 3 millones de polígonos por segundo, pero en realidad dicha cifra era la cantidad de polígonos convertidos en fragmentos de 32 pixeles.

En nuestra Dreamcast 2, haciendo la misma regla de tres esto se traduce en 8.3 millones de polígonos por segundo, claro esta, que es una cifra teórica en la que hacemos que la el PowerVR 2 DC solo rasterice triángulos de 32 píxeles sin multitextura.

Shenmue PostMortem

Pero lo importante es tener el doble de unidades de texturas. ¿El motivo? En efectos multi-textura la tasa de relleno se va a la mitad y con ello la tasa de polígonos en pantalla se reduce a la mitad.

En juegos visualmente complejos para Dreamcast, donde se utilizaban efectos multi-textura, la tasa geometría pasa a ser no 2.3 veces, sino 5.5 veces, lo que resulta en un salto considerable respecto a la primera consola.

VRAM de la Dreamcast 2

El otro problema era el tema de la RAM de video.  Si miramos las Hercules 3D Prophet 4000 que salieron en la época, estas tenían un bus de 128 bits SDR.

3D Prophet 4000

Pero no necesitamos 64 MB de memoria VRAM para nuestra Dreamcast 2 y tener 8 chips de memoria para la VRAM es una exageración. En todo caso ST Microelectronics hizo una versión del PowerVR Series 3 con memoria DDR, lo que reducía los chips de 8 a 4 con un bus DDR de 64 bits.

Kyro II DDR

La capacidad de la VRAM sería de 32MB, lo que significa cuadriplicarla respecto a Dreamcast.

El tema de la geometría

Dado que en los juegos de Dreamcast era el propio SH4 el encargado de calcular la geometría, con este SH5 a la hora de ejecutar los juegos de Dreamcast la potencia en geometría se duplicaría en Dreamcast 2.

Hay que tener en cuenta que en Dreamcast, la geometría de la escena era calculada por la CPU y sus unidades en coma flotante.

Una Dreamcast 2 con el SH5 llevando la geometría seguiría siendo menos potente que PlayStation 2.  Eso si, permitiría un modo de 60 fotogramas por segundo para los juegos de Dreamcast que fuesen a 30.

Pero claro, hemos dicho que el PowerVR Series 3 puede dibujar en pantalla hasta 5.5 veces los polígonos de la primera Sega, por lo que el hecho que la CPU pueda mostrar el doble se convierte en un cuello de botella.

En los juegos de la Dreamcast original donde nos veríamos limitados a los 60 Hz de un televisor no habría problema porque eso sería duplicar la tasa de fotogramas, por lo que podríamos ejecutar ciertos juegos que van a 30 FPS en DC a 60 FPS.

Por lo que juegos de Dreamcast que tenían bajones entre los 60 y los 30 FPS terminarían a 60 FPS estables y los que iban a 30 FPS se moverían a 60 FPS sin problemas.

El problema vendría con los juegos de Dreamcast 2, ya que la CPU tiene que compartir el tiempo entre ejecutar el programa principal del juego y calcular la geometría de la escena.

Esto se traduce en que Dreamcast 2 necesitaría un chip adicional, el cual se situaría a medio camino entre la CPU y el PowerVR Series 3. El cual tendría la capacidad de calcular la geometría de la escena en paralelo a la CPU y de enviar los resultados al PowerVR Series 3 para que realizará la parte correspondiente a la rasterización.

Videologic ELAN

Imagination Technologies, por aquel entonces llamada Videologic, hizo un chip para la placa Naomi 2 llamado ELAN que precisamente le evitaba al par de SH4 de esta placa tener que calcular la geometría de la escena.

El problema de los Tile Renderers es que necesitan la información de la geometría de la escena, esto hacía que el ELAN tuviese que tener una RAM propia para almacenar dicha geometría y luego copiarla en la VRAM del PowerVR Series 2 de Naomi 2.

Para ello Sega le había colocado 32 MB de memoria al ELAN, esto es una exageración, ya que es mucho más que lo que el ELAN necesita para almacenar la geometría que puede producir. ¿Una mala decisión de SEGA? Bueno, esto era normal en los arcades donde los costes no tenían las mismas limitaciones que un sistema doméstico.

La RAM en el ELAN de Dreamcast 2 debería ser menos que la VRAM, dado que la VRAM almacena el búfer frontal, de 1 MB a 640 x 480, las texturas de la escena y la geometría, especialmente la geometría.

Dicho de otra forma, los Tile Renderers te ahorran tener que utilizar memoria para los búfers de imagen, pero no te la ahorran para la geometría de la escena.

Una escena a 30 FPS y alcanzando los 8.3 millones de polígonos por segundo, se traduce en 276.666 polígonos por fotograma. A un tamaño medio de 40 bytes por polígono esto son 10.55 MB de memoria aproximada que necesitaríamos para almacenar la geometría de la escena de cada fotograma con dicha especificación.

El hecho de tener que copiar de la memoria del ELAN a la memoria del PowerVR Series 3 debería poder evitarse dando acceso en la etapa del calculo de la geometría al ELAN a la memoria DDR que tendríamos como VRAM.

Con dicho método nos ahorramos por completo el tener que añadir RAM adicional.

Audio en Dreamcast 2

El DSP de Audio sería el mismo Yamaha AICA de Dreamcast, pero con 8 MB de RAM asignada en vez de los 2 MB que había en la Dreamcast original.

Se que no es un cambio muy espectacular, pero el aumento en la RAM de audio debería ser suficiente para mejorar la experiencia sonora respecto a la consola original.

Es más, el Yamaha AICA es superior al sistema de audio de PlayStation 2 y esta al nivel del de Game Cube, por lo que no hace falta actualizar esta parte.

DVD en Dreamcast 2

La parte final es el DVD, la suerte es que el PowerVR Series 2 incluye un decodificador MPEG-2, por lo que para SEGA incluir un lector DVD con la capacidad de reproducir juegos en Dreamcast 2 no hubiera sido un problema

Conexión de red

Dreamcast 2 debería estar preparada para redes de banda ancha de la época. Esto significa descartar por completo el modem que hubiese venido de serie a cambio de incluir una tarjeta de red.

Dreamcast Broadband Adapter

Sega lanzo en japón el Broadband Adapter para Dreamcast. El cual se traducía en otorgarle a Dreamcast la capacidad de conectarse a routers ADSL.

Espero que este what if en ocasión del 20 aniversario del triste anuncio de SEGA os haya gustado.