Reconstruyendo TRON en Apple IIgs

TRON es un clásico de ciencia ficción que llega a los cines en medio de la creciente era de las computadoras domésticas. Es la película que creó el famoso ciclo de luz que generó mucho entretenimiento de videojuegos en los años siguientes. Hace muchos años ahora, [Daniel] decidió flexionar sus músculos de programación codificando una versión del juego para Apple IIgs, con excelentes resultados al azar.

En la película, los personajes encuentran un escape del juego del ciclo de la luz al obligar a otro jugador a golpear contra las paredes del área de juego. La explosión resultante dejó un agujero, lo que permitió a los jugadores abandonar el juego del ciclo de luz y explorar el resto de la computadora. Diversión, para una descripción general del código, [Daniel] creó exactamente este mismo defecto en su propio código.

[Daniel]El juego difería del original en que los jugadores recibieron misiles para destruir las pistas enemigas. Sin embargo, estos misiles no fueron discriminados y, debido a la simplicidad del código, pudieron destruir el límite del área de juego. Esto se descubrió cuando el jugador de la computadora intentó escapar de una situación que de otro modo sería imposible. Haciendo un agujero en la pared de la arena, el juguete de la computadora siguió empujando la pantalla hacia una memoria inválida. Esto provocó que la computadora fallara en breve, debido al espacio de memoria desprotegido de la plataforma Apple II.

Este es un caso de código que imita al arte, y todo por accidente. El juego logró replicar el escape del ciclo de luz de la película por completo debido al comportamiento inesperado del código simple del misil. [Daniel] recorre el código y cómo se produjo el error, y cubre el principio subyacente detrás de los bloqueos resultantes. Es una historia divertida sobre los riesgos de la codificación de bajo nivel; algo que no siempre encontramos con los lenguajes interpretados modernos de hoy.

¿Tienes sed de más historias sobre cómo hackear el Apple II? ¿Qué tal retroceder en el tiempo para corregir un error de 37 años?

  • Arjan Wiegel dice:

    redacción realmente interesante, pero la historia original no deja que parezca una mentira que fue completamente accidental.

  • Olsen dice:

    ¡Ahora para ver si el ciclo de luz se puede conducir para realizar la ejecución de código arbitrario!

  • Greenaum dice:

    Hice algo similar en un juego de aventuras de texto que escribí en la universidad. En COBOL. Engañando, podía ir al norte, etc., cuando se suponía que no debía hacerlo. Terminé deambulando por partes del código fuente. El COBOL fue "compilado" para trabajar con algún tipo de sistema de código P, supongo que de ahí proviene el código fuente.

    El sistema operativo era System V Unix en un 68020 basado en mini (creo). Además de eso, el código fuente también estaba en mi directorio de inicio y es posible que se haya quedado en la RAM sin asignar esperando ser eliminado desde que lo compilé, supongo. Realmente debería buscar en los documentos técnicos un sistema que no haya visto en veinte años para estar seguro. Sin embargo, tenía una memoria virtual adecuada.

    Después de investigar un poco el código y las variables, fallaría muy pronto. Realmente solo lee cosas de tablas con un índice no válido.

  • comensal dice:

    Si tiene sed de más historias sobre piratería de Apple II, puede ver algunas apariciones recientes que la plataforma ha tenido en la escena de demostración, pero los editores de HaD parecen un poco desinteresados ​​en eso.

    http://www.deater.net/weave/vmwprod/megademo/

Alberto Gimenez
Alberto Gimenez

Deja una respuesta

Tu dirección de correo electrónico no será publicada.