En 1989 Konami lanzaba 'Gradius III' en recreativas. El juego era tan difícil que acabó retirándolo para suavizarlo un poco, y en 1990 llegaría la versión para la Super Nintendo Entertainment System (SNES), que había generado una expectación fabulosa por contar con unos gráficos excepcionales para la época que replicaban con notable fidelidad a los de la recreativa.
El juego, no obstante, decepcionó: cuando la pantalla tenía cierto número de obstáculos y naves enemigas, la acción se ralentizaba de forma preocupante, pero casi 30 años después alguien encontró la solución: integrar un co-procesador en el cartucho del juego original para acelerar su funcionamiento. Aquel truco no era en realidad nuevo, porque resulta que varios juegos ya integraban ese coprocesador para correr sin problemas en una consola mágica pero cuyo procesador era limitado incluso en la época en la que salió.
La SNES iba a ser mucho más potente (y cara)
Los primeros diseños de la SNES a nivel hardware eran muy distintos de los que llegaron a manos de los usuarios finalmente. La idea de los ingenieros de Nintendo era ofrecer una consola mucho más potente, pero se dieron cuenta de aquello acabaría resultando en un coste excesivo para los usuarios y que además no daría demasiado margen de beneficio a Nintendo.
Además había otro problema: el líder del proyecto, Masayuki Uemura, no pudo cumplir con la exigencia de Hiroshi Yamauchi, presidente de Nintendo en aquella época, que quería que esa consola fuese retrocompatible con la NES.
Aquella opción de retrocompatibilidad fue finalmente abandonada por Nintendo, pero aquello solo permitió ahorrar 75 dólares en el precio final de la consola. El principal causante del precio final no fue su procesador principal, sino sus chips gráfico y de sonido, que de nuevo fueron una exigencia de Yamauchi y que querían sacar partido de aquella explosión de contenidos multimedia que comenzaban a aflorar en la época.
La leyenda cuenta -Nintendo nunca lo ha confirmado oficialmente- que el coste se elevaba de tal manera que Nintendo tuvo que sustituir la CPU en la que habían pensado originalmente, un Motorola MC68000 a 10 MHz, por la CPU que finalmente integraron, un Ricoh 5A22 a 3,58 MHz basado en el Motorola WDC65816.
Que vivan los cartuchos con coprocesador integrado
Aquella CPU no daba demasiado margen de maniobra a los desarrolladores, pero a Nintendo se le ocurrió una ingeniosa forma de solucionar el problema: usar coprocesadores que permitieran a los juegos correr con más suavidad cuando lo necesitaran.
La peculiaridad de estos coprocesadores era que no estaban en la consola como tal, sino que estaban integrados en los juegos, o más bien, en los cartuchos de juegos, que contaban con chips específicos que "ayudaban" a la CPU de la SNES para que esos juegos fueran fluidos.
Esa estrategia se beneficiaba del hecho de que los coprocesadores que fueron apareciendo eran cada vez mejores y se podían adecuar a cada juego según las necesidades de la época y del desarrollador, haciendo que dichos títulos pudieran ofrecer muchas más prestaciones que las que hubieran podido ofrecer de correr en el hardware nativo de la consola.
La lista de chips que se usaron en los cartuchos de la SNES es larga, y de hecho en la Wikipedia existe una buena relación de todos ellos con los cartuchos de los juegos en los que se instalaron. Normalmente era fácil detectar que un juego tenía uno de estos coprocesadores: a los pines originales y normales de los cartuchos "normales" se le sumaban otros 16, ocho a cada lado.
Entre los juegos que integraron esos coprocesadores estaban 'Super Mario World 2: Yoshi's Island', 'Star Fox' o 'Super Mario RPG: Legend of the Seven Stars", que fue uno de los muchos que usaron el coprocesador SA-1. Este chip era una versión "overclockeada' del 5A22 que permitía llegar a los 10,74 MHz en lugar de los 3,58 MHz originales y que incluía 2 KB de RAM interna que además iba más rápida que la del chip nativo.
Hackeando juegos 30 años después
La idea de hacer que ciertos juegos pudieran ir fluidos gracias a un coprocesador acabó siendo un singular forma de hacer que la retroinformática cobrar un nuevo sentido para usuarios como Vítor Vitela.
Ese es el nombre del hacker brasileño que como indicábamos al principio se encargó de crear una ROM parcheada para 'Gradius III' muy especial y que gracias al chip SA-1 evitaba la célebre ralentización del juego, sobre todo en la fase 2 de las burbujas.
Aquella mejora trajo una desventaja curiosa, no obstante: aquella ralentización en fases complicadas con muchos enemigos favorecía al jugador humano permitiendo "pensar un poco" antes de actuar y así poder superar este juego extremadamente difícil. Con el coprocesador en marcha, la fluidez era absoluta en todas las fases del juego, lo que acababa haciendo el juego más difícil que nunca.
No se puede tener todo, suponemos.
Ver 29 comentarios