Recuerdos de Silicio – Parte I – El Chip SVP

avatar 34

Hola amigos de Pixelacos, empiezo la primera parte de una serie de entradas a las que llamaré “Recuerdos de Silicio” en honor a ese gran soporte de almacenamiento que tan buenos ratos nos ha dado, así es hablo del cartucho. Aunque no creo que todas las entradas que lleven ese nombre traten exclusivamente de las tecnologías asociadas a los cartuchos, al menos un par de ellas si que tendrán esa temática. Para abrir este conjunto de entradas he decidido empezar por uno de los chips más conocidos, pero menos usado en la historia de los videojuegos. Hablo del Chip SVP de SEGA.

El Sega Virtua Processor o SVP es un procesador digital de señales (DSP en la jerga más técnica) el cual fue introducido por SEGA en el año 1994 para mejorar o expandir las capacidades 3D de la consola MegaDrive. Hablando claro, el chip SVP fue la respuesta de Sega al famoso Chip SuperFX de Nintendo (con dos revisiones GSU-1 y GSU-2). El SVP es un procesador SamSung SSP1601 Fixed Point DSP de 16-bit con la marca de SEGA.

El único uso que se le dió al SVP fué en la versión de MegaDrive del juego Virtua Racing. Su principal tarea era calcular los gráficos poligonales del juego. El propósito principal del SVP era renderizar polígonos como patrones de 8×8, que el programa del juego transfería a la VRAM desde los 128K de RAM que eran usados por el DMA de la consola. La velocidad de Reloj del SVP es de 23 MHz y tiene la capacidad de calcular entre 300 y 500 polígonos/cuadros a una velocidad de 15 cuadros por segundo, es decir de media unos 6500 polígonos por segundo con un máximo de 16 colores. Como curiosidad decir que el chip SVP se calentaba tanto cuando estaba en operación, que el cartucho (del único juego donde estuvo en funcionamiento) en el que está instalado incluye su propio minisistema de refrigeración en forma de una especie de difusor de calor interno.

Como decía anteriormente el chip SVP solo llegó a utilizarse en un único juego, el Virtua Racing. En el siguiente video podeís ver como quedó uno de los mejores juegos que tuvo la consola.

Como podeis apreciar el juego se ve realmente bien. Más tarde cuando Sega decidió ralizar el aborto conocido como Sega 32X se relanzó una versión Deluxe del Virtua Racing para este Addon. Personalmente me quedo con la versión de MegaDrive por el mérito que tiene el desarrollar el juego en base al chip SVP sin ningún hardware extra y tan penoso como fué el 32X.

Y ahora viene lo bueno. ¿Alguien se imagina como hubiese sido la guerra entre Nintendo y SEGA si está última hubiese optado por potenciar sus juegos con el SVP? Lo cierto es que la inclusión del SVP en un cartucho de MegaDrive doblaba prácticamente el precio del cartucho final con respecto a un cartucho sin el chip. Es más, la versión PAL del Virtua Racing llegó a ser más cara que por ejemplo juegos con el Chip Super FX (GSU-1 y GSU-2) en el caso de SNES como por ejemplo StarFox, SMW2 o DooM. Pero aún a día de hoy sigo pensando que si Sega hubiese invertido recursos en ello hubiese sido capaz de reducir los costes de fabricación de los cartuchos con el chip SVP e intentar plantarle cara a Nintendo en este campo.

Algunos iluminados se atreven incluso a más. ¿Que hubiese pasado si se hubiese juntado en el mismo Addon la tecnología del MegaCD y el Chip SVP?. ¿Alguien se imagina un Sylpheed con gráficos 3D de verdad estilo Starfox y con banda sonora en calidad CD sin el engaño de los fondos pregrabados?. ¿Y que me decís del juego de StarWars que salió para el 32X? ¿Os imaginais ese juegazo corriendo tranquilamente en vuestras MegaDrives solo con el cartucho enchufado a la consola?

Lo cierto es que Sega ha cometido muchos errores en el pasado, y uno de ellos fue el lanzamiento del addon Sega 32x. En mi opinión este addon corto de raiz el desarrollo de cartuchos con el Chip SVP, y con el lanzamiento de la Saturn a la vuelta de la esquina el catálogo que tuvo ni si quiera mereció el esfuerzo por los pocos juegos que tuvo (aunque muchos de ellos de gran calidad).

Soñar es gratis, pero merece la pena recordar el Chip SVP como el intento de Sega por plantar cara a Nintendo en el campo de “juegos potenciados”, un intento que bien podría haberse convertido en competencia seria si no hubiese sido por las malas decisiones tomadas por Sega. Finalmente, como muchos sabreis es posible overclockear el Chip SuperFX (GSU-1 y GSU-2) de SNES para ganar unos cuantos hertzios mediante la sustitución del cristal utilizado como oscilador local en las PCBs de esos juegos. Que sepais que en el caso del Virtua Racing es imposible overclockear el chip SVP por la propia forma en que trabaja el Chip, pero es que además aunque fuese posible hacerlo tampoco serviría de nada porque en este caso, el único juego que los soporta, el Virtua Racing, está programado (es decir el código del juego) a piñón fijo para predeterminar los fps a los que va el juego. Aqui una parte de un comentario del foro AssemBlerGames.com donde se confirma:

“The SVP code doesn’t seem to be timing sensitive, so it can be emulated without knowing timing of the instructions or even how fast the chip is clocked. Overclocking doesn’t have any effect, underclocking causes slowdowns. Running 10-12M instructions/sec (or possibly less) is sufficient.”

“SVP seems to have DMA latency issue similar to one in Sega CD, as the code always sets DMA source address value larger by 2, then intended for copy. This is even true for DMAs from ROM, as it’s probably hooked through SVP’s memory controller.”

“The entry point for the code seems to be at address 0x800 (word 0x400) in ROM, but it is not clear where the address is fetched from when the system powers up. The memory test code also sets up “ld PC, ..” opcodes at 0x7f4, 0x7f8 and 0x7fc, which jump to some routines, possibly interrupt handlers. This means that mentioned addresses might be built-in interrupt vectors.”

Y hasta aquí la entrada de hoy amigos. Espero que os haya gustado.

Saludos.