La CPU de un Terminator

El otro día estaba viendo The Terminator, la peli de James Cameron de 1984. Durante la peli, hay momentos en los que se utiliza una cámara en primera persona desde el punto de vista del terminator. Los colores no son como los que vemos nosotros y parece que tenga visión nocturna. Pero lo que me llamó la atención fueron los datos que salían a ambos lados de su “visión”. Creí reconocer algo, así que rebobiné. Para mi sorpresa, era un volcado hexadecimal y, más adelante, directamente código en lenguaje ensamblador. Pero es que mirándolo más detenidamente me di cuenta de que lo reconocía: era ensamblador del microprocesador 6502.

El 6502 es una CPU de 8 bits con bus de direcciones de 16 bits, diseñado por MOS Technology en 1975. Sólo tiene tres registros y con un número de instrucciones pequeño pero muy ortogonal y con muchos modos de direccionamiento. Fue la inspiración para los procesadores RISC posteriores y quizás el procesador más usado en los años 80 para consolas y máquinas recreativas, después siempre del Z80 de ZiLOG. En particular, era el procesador de la NES de Nintendo (modificado), de la Atari 2600, algunos Commodores, BBC Micro, etc.

Parece que el hecho es conocido en la cultura friki popular y, según la wikipedia, el código en ensamblador que aparece en la pantalla pertenece a un programa escrito para el Apple II en una revista de informática de la época.

¡Es increíble que el terminator funcionara con este procesador a 1 MHz! ¿Y para qué quiere ver el lenguaje ensamblador mientras va persiguiendo a sus objetivos? Sólo Cyberdyne Systems tiene las respuestas…

Aquí dejo algunos pantallazos.

terminator3terminator5

Anuncios
Esta entrada fue publicada en Cine, Hackerdom. Guarda el enlace permanente.

29 respuestas a La CPU de un Terminator

  1. Pingback: La CPU de un Terminator

  2. WoW dijo:

    Freaaaaaaak….

  3. fdsfdsf dijo:

    Incluso tiene el codigo comentado y todo. lol

  4. Jose Miguel dijo:

    muy friki por lo demas……no te has fijado en los otros TERMINATORS que lenguaje utilizan???

    • jorgicor dijo:

      Pues, al menos en Terminator 2, ya no sale código ensamblador, así que no sabemos si el T-1000 lleva un Z80 ;). Tendré que volver las pelis siguientes, pero ya no creo que salga nada de esto.

  5. Carlos dijo:

    xDD, pero qué bueno!

  6. Paco dijo:

    Sin palabras! RespeCto!

  7. Pedro dijo:

    Necesita ver el código porque se depura a si mismo. Mejorando su algoritmo de captura.

  8. Nacho dijo:

    Jajaja, son muy buenos los diagramas de Bode que hay abajo a la izquierda … ¿estará analizando la respuesta en frecuencia de algo? … curioso … 😉

  9. mikel dijo:

    El código sale en el visor para depurar, viéndolo el programador en tiempo de ejecución. El currela está viendo lo mismo que la máquina y corrige sobre la marcha.

  10. No, lo increíble es que incluya líneas de comentario ¿Para qué una máquina necesita líneas de comentario? ¿Y por qué necesita etiquetar las instrucciónes? ¿Es que le cuesta más recordar las direcciones en hexadecimal?

    La única explicación que se me ocurre es porque skynet procesa la información como un humano porque es la única forma de programar que entiende…, si fuera humano. Quizá replicó código y lo evolucionó en base a lo que le funcionaba. De la misma manera que aprovechó el código de microprocesadores muy pequeños para llevar a cabo una segmentación de código y programación vectorial en una red altamente acoplada de microprocesadores de alta gama.

    Por tanto, el sistema tendría que haber llevado a cabo un procedimiento de prueba y error a la hora de hacer diseños, antes de comprenderlos realmente.

  11. Oscar dijo:

    Bien explicado, yo ya lo conocía.

  12. cubanitoenmadrid dijo:

    es que tenían al schwarzenegger en modo debug.. LOL

  13. deviker dijo:

    Los coldfire usan el mismo set de instrucciones y no van solo a 1mhz ademas el set de motorola tiene la ventaja de ser ortogonal y eso facillita la programacion asi que es plausible lo que se ve en el codigo de terminator

  14. jorx dijo:

    65 instrucciones, si. 1 MHz creo. Tengo aún en el trastero mi viejo
    apple ][ (de 1981) , que sigue funcionando. Una máquina fantástica.
    Como curiosidad, tenia 3 manuales. Uno de DOS, uno de Basic Applesoft
    y el último con la ROM listada y un plano desplegable con la circuiteria
    del hw. open hardware. Eso seria Wozniak. Vamos, como Apple hoy en dia.

    salut.

  15. ahse dijo:

    Los que necesitan ver el codigo son los espectadores, para entender que esta pasando con el Terminator. 😛

  16. Pher dijo:

    Seguro es no es un iTerminator.

  17. darthtxelos dijo:

    Y en la nueva peli que llevaran,uno a 2mhz?petandola!

  18. fedfex dijo:

    LO RARO ES QUE NO FUNCIONE CON ANDROID….. CUAK

  19. snowolf dijo:

    ¿blender tiene la misma tecnologia que terminator? eso explica muuchas cosas…

  20. Jonatan dijo:

    Quizá estaba activado el Debug, por eso aparecía el código fuente

  21. Leo dijo:

    El objetivo es hacerlo ver impresionante, no importa mucho que sea. Los críticos de arte no ven eso, porque no saben de eso.

  22. Psicotron dijo:

    Es increible que se pongan a pensar si es posible o no. Es todo efecto visual. Para la epoca apenas habia gente con ordenadores caceros y menos gente que entendiera Assembler. Yo la vi con 8 años y para mi era del futuro, ni llegaba a leer lo que aparecia en el visor del terminator jajaja. Dejen de sacar concluciones raras, es todo un tema visual. A parte no podria ni levantar una mano si tuviera un proc 6502 a 1Mhz

  23. Diego. dijo:

    recuerdo que Robocop cuando iniciaba cargaba command.com asi que podriamos decir que Terminator se manejaba al menos en un lenguaje de mas bajo nivel… defender la ley con DOS no es fácil…

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s