¡Estudiantes Aburridos Se Divierten Con Sonic 2 En Calculadoras Ti 84 Plus Ce Gracias A Un Nuevo Port

Sonic 2 en calculadoras TI-84 Plus CE gracias a un nuevo port

Hace unas semanas, la calculadora gráfica TI-84 Plus CE vio la llegada de un nuevo miembro a su biblioteca de juegos retro: Sonic the Hedgehog 2. Jugar juegos retro en calculadoras no es algo nuevo, con títulos como Tetris, Breakout e incluso Super Mario Bros 3 habiendo sido portados a las calculadoras populares de Texas Instruments. Sin embargo, ningún juego del erizo azul había llegado a estas pequeñas pantallas – hasta ahora.El usuario de GitHub grubbyplaya, también conocido como grubbycoder, portó Sonic the Hedgehog 2 del año 1992 al dispositivo, haciendo de este el primer juego de plataforma de Sonic disponible para la calculadora. El código fuente y los binarios han sido liberados; sí, es completamente no oficial.

La Inspiración detrás del Port

El desarrollador se inspiró para portarlo después de ver un video en el canal de YouTube This Does Not Compute sobre la historia de los juegos en calculadoras. Cuando el mini documental mencionó que algunas calculadoras de TI usaban los procesadores Zilog Z80 de 8 bits y Motorola 68000 de 16/32 bits, captó la atención de grubbycoder. Esos chips también fueron utilizados por las consolas Master System y Genesis (o Mega Drive para aquellos fuera de Norteamérica), así que portar Sonic de una de esas consolas a la calculadora TI debería ser razonablemente divertido de hacer.

«Eso realmente despertó mi interés, ya que ya conocía los procesadores que utilizaban las consolas retro de Sega: El Z80 para el Master System, y el M68K para el Genesis,» dijo el programador en su documentación del port.

«Además de eso, realmente quería hacer mi propio juego para calculadora, o al menos portar uno existente,» grubbycoder contó a The Register. «Doom es un poco grande para caber en el almacenamiento de la 84 Plus CE, así que esa es parte de la razón por la que me quedé con juegos en el rango de 8 a 16 bits. Por supuesto, descarté cualquier juego de 16 bits más adelante.»

Detalles Técnicos del Port

Sin embargo, grubbycoder no portó la versión de Sega Genesis de Sonic 2; en su lugar, usó la versión hecha para el Sega Master System y Game Gear de 8 bits. Esto se debía a que las calculadoras TI más grandes basadas en el CPU 68000 no tenía una pantalla lo suficientemente buena para la versión Genesis.

Portando Sonic the Hedgehog 2 al TI-84 Plus CE

La resolución de la versión de Genesis basada en el Motorola 68000 contrasta con la TI-84 Plus CE, que usando su chip Zilog eZ80 (esencialmente un Z80 de 24 bits con mejoras adicionales), tiene una pantalla de 320×240 píxeles, suficiente para las versiones de 8 bits (Master System y Game Gear). Esta elección limitó las opciones de grubbycoder para portar juegos de Sonic.

The Intro Of Sonic The Hedgehog 2 On The Ti-84 Plus Ce.

Selección de Juegos

Actualmente, el único juego de Sonic completamente desensamblado en Master System es Sonic the Hedgehog 2, por lo que fue el elegido. Otros juegos populares como Sonic the Hedgehog de 8 bits y Sonic Triple Trouble solo tienen desensambles parciales. Según grubbycoder, comenzar a portarlos implicaría principalmente ingeniería inversa de todo el juego.

Hardware Limitations y el TI-84 Plus CE

En teoría, el TI-84 Plus CE es perfecto para juegos de Sonic de 8 bits, ya que el chip eZ80 funciona a 48MHz, mucho más que el Z80A del Master System que opera a 3.58MHz. Además, tiene 256KB de RAM, mucho más que los 8KB de RAM y 16KB de VRAM del Master System. Sin embargo, estas ventajas se ven afectadas por estados de espera que reducen la velocidad efectiva del eZ80 a 12MHz, la limitación de tamaño de archivo a 64KB y la falta de aceleración gráfica similar a una consola.

Desafíos Técnicos

El mayor desafío fue redirigir y traducir los accesos de E/S para evitar estrellar la calculadora TI-84 Plus CE. Cualquier intento del código del juego por acceder a puertos E/S esperados del sistema Sega, como el sistema de audio, la paleta de colores y la VRAM, necesitaba ser manejado adecuadamente.

Compiladores y Conocimientos

Otra dificultad fue el uso de un ensamblador diferente al usado por el proyecto de desensamblado original de Sonic 2, lo cual trajo problemas de compatibilidad. Además, grubbycoder no era un experto ni en el Z80 ni en la TI-84 Plus CE. «Al principio, solo tenía un nivel muy básico», comenta grubbycoder, refiriéndose a su conocimiento sobre estas tecnologías.

Emulación del Sistema Maestro en la TI-84 Plus CE

Conocimiento de Ensamblador Z80

«Tenía conocimientos de ensamblador Z80, lo que significó que tomé algunas decisiones realmente estúpidas en el manejo de algunas cosas que luego me volvieron a morder,» dice grubbycoder. «A medida que crecía la complejidad de emular características del Sistema Maestro, finalmente adquirí un conocimiento moderado de cómo funciona la TI-84 Plus CE,» nos contó grubbycoder.

Desensamblado y Montaje del Juego

El primer paso fue ensamblar el juego desde el código fuente desensamblado. Mientras el ensamblador