You Are Browsing ‘MicroHistoria’ Category

Aprender a programar un Terminator y a Bender de Futurama (o también como aprender a programar un MOS 6502)

by cybercaronte - on Ene 5th 2017 - No Comments

 

https://farm1.staticflickr.com/766/32125758245_2280c0cedb.jpg 

Link

Con el auge de la IA ya sabemos que Skynet está cerca y con ella los famosos Terminator. Como todos sabéis los Terminator están programados con este procesador así que es el momento perfecto para aprender a programar un MOS 6502 y así poder re-programarlo y convertirlo en un Roomba. También nos puede ayudar a programar a nuestro querido Bender de Futurama como podéis ver en la imagen que encabeza este post.

Ahora en serio, la primera pregunta que podemos hacernos es ¿por qué tendría que aprender a programar ensamblador con el microprocesador MOS 6502?. Primero, porque programar siempre es divertido 😉 y mucho más si es en ensamblador. Segundo, porque muchos ordenadores y video consolas clásicas fueron diseñadas utilizando este microprocesador como CPU, por ejemplo: BBC Micro, Atari 2600, Commodore 64, nuestro querido Apple II e incluso la famosa NES. Por otro lado este lenguaje ensamblador también es un buen comienzo para aprender a programar microprocesadores más potentes y además es perfecto para entender el funcionamiento en uno de los niveles más bajos de un ordenador (después del ensamblador sólo te queda el código máquina).

Este fantástico artículo está dividido en los siguientes apartados:

Además puedes practicar directamente en el página web ya que utiliza un simulador de 6502

Le he estado echando un vistazo y si tienes una base mínima de programación, llegarás a entenderlo y programarlo en una tarde (incluso como puedes observar en la lista de apartados, al final crearás un pequeño juego).

Enlace original:

https://skilldrick.github.io/easy6502/

Entradas relacionadas:

Microhistorias: Los “ladrillos” que cimentaron Apple

by tuxotron - on Ago 3rd 2016 - 2 Comments


Apple-Atari.png

En 1974 Atari era la empresa de moda en aquella época, sueño de cualquier geek. La compañía había crecido enormemente desde su fundación en 1972, “Pong” ya había creado toda una nueva industria y la famosa videoconsola Atari VCS 2600 no era más que un proyecto en desarrollo. El ambiente desenfadado y de espíritu libre de la compañía era el cultivo perfecto para atraer a todo tipo de personajes, sobre todo hippies y locos por la tecnología que estaba dando sus primeros pasos.

Ese mismo año, 1974, la recepcionista de Atari le comunicó a Allan Alcorn (diseñador del famoso vídeo juego Pong) que tenía en la recepción a un chico de 19 años con pinta de “Hippie Freak”, melena, descalzo, barba y maloliente (hasta aquí cualquier otra empresa ni siquiera le hubiera dado audiencia, pero era Atari) diciendo que tenía concertada una entrevista de trabajo. Durante dicha entrevista Allan Alcorn, rápidamente se dio cuenta que este chico empezó a mentir, dando la impresión que había trabajado para HP (Hewlett-Packard) y que tenía una serie de conocimientos técnicos, que realmente no tenía. Allan, sin embargo, estaba impresionado con la persistencia y perspicacia con la que el chico buscaba ser contratado. Fue por ello que le ofreció un trabajo como técnico de máquinas tragaperras, por 5 dólares la hora.

Ese chico era Steven Paul Jobs, popularmente conocido como Steve Jobs, y se convertiría en el  empleado número 40 de Atari.

Muy pronto Steve Jobs empezó a hacer pocos amigos dentro de la empresa (¿recuerdas lo de “maloliente” y descalzo, esos fueron algunos de los factores). A Steve le gustaba rondar por las oficinas de Atari diciéndole a los ingenieros directamente a la cara sus “impresiones” sobre el trabajo que estaba realizando, llegando incluso a insultar a estos.

Nolan Bushnell, fundador de Atari, sin embargo vio talento y mucha creatividad en él. Aunque no fuera una persona con grandes conocimientos técnicos, de alguna forma Jobs se las arreglaba para terminar los proyectos incluso con antelación a lo acordado. Fue por ello que Bushnell lo puso a trabajar en el turno de noche para evitar problemas con el resto del personal. Lo curioso que por aquel entonces Atari no tenía un turno de noche…


AppleBreakout200.jpg

Nolan Bushnell y Steve Bristow tenían en mente la idea de un nuevo juego basado en el famoso “Pong”. El juego consistiría en rotar la pantalla, eliminar a uno de los jugadores y poner en su lugar una pared llena de ladrillos, los cuales el jugador tendría que eliminar sin perder la pelota en el rebote. Estos fueron los cimientos del famoso juego “Breakout”.

 

 

Jobs tenía un buen amigo por aquella época, con quien había fabricado las famosas “Blue Box” durante su época de instituto y cuyos beneficios de venta eran los únicos ingresos, que no fueron pocos, de Steve Jobs. Ese amigo era Stephan Gary Wozniak, mejor conocido como Steve Wozniak o simplemente Woz. Todo el conocimiento técnico que Jobs no tenía y que Atari le exigía, era Woz quien se lo aportaba. Además Woz conocía bastante bien a Atari, había gastado mucho dinero jugando al “Pong” e incluso había diseñado un Pong casero, con menos “chips” y que además tenía un conmutador que activaba/desactivaba textos en la pantalla como por ejemplo “Oh Shit!” ó “Damm it!” cuando el jugador fallaba la recepción de la pelota (epic). Atari incluso llegó a ofrecerle trabajo a Wozniak, pero él estaba muy feliz en HP fabricando sus calculadoras, era su trabajo soñado.

A mediados de 1974, Jobs pidió a Atari que lo mandara a la India. Éste llevaba algún tiempo empañado el viajar a dicho país en busca de iluminación espiritual. Atari finalmente acordó con él, que lo mandaría a Alemania para arreglar algún problema técnico que que tenían allí, y desde Alemania, Jobs podría volar a la India, pero Jobs no tardaría mucho en volver, ya que el gurú espiritual al que iba buscando había muerto a finales del año anterior, 1973.

Cuando Jobs volvió, pidió a Atari que lo volvieran a contratar, pero esta vez como ingeniero y no como técnico. Atari aceptó y lo mantuvo en el turno de noche. Entre otros, Atari le encomendó a Jobs la implementación de la idea del Breakout. Jobs, como era usual en él y con aires de grandeza dijo que eso lo tendría hecho en un par de días.

La remuneración por dicho proyecto serían 700 dólares, más un bonus, por cada circuito integrado TTL (bastante caros en aquellos tiempos) que pudiera eliminar por debajo de los 50.

A Jobs, técnicamente el proyecto le quedaba muy grande, pero gracias al turno de noche de Jobs y la gran afición de Wozniak a la electrónica y los videojuegos, éste convenció a Wozniak para que se fuera a ayudarle por las noches a cambio de jugar gratis al “Pong” o cualquier otro juego que Atari estuviera fabricando (Jobs trabajaba en la fábrica de los Los Gatos donde se montaban los componentes electrónicos) y le ofreció la mitad de lo acordado con Atari.

Y así fue como Steve Wozniak se pasó cuatro días sin dormir, diseñando a mano, un prototipo funcional electrónico del juego “Breakout”, con la presión diaria de Jobs para que terminara el trabajo lo antes posible. Por las noches, mientras Jobs cableaba el prototipo (Jobs por lo visto tampoco sabía soldar), Wozniak aprovechaba para echar unas partidas, entre ellas a la primera máquina de videojuegos arcade de carreras, Gran Trak 10.

Finalmente, Jobs entregó el prototipo a Nolan (el diseño final consistía en sólo 36 circuitos integrados TTL), pero los ingenieros de Atari no encontraron la forma de crear un diseño basado en el creado por Wozniak que pudiera ser manufacturado en una línea de producción.

Wozniak aprendió mucho durante esos cuatro días de trabajo intenso creando el diseño de “Breakout”. En la fábrica donde estuvo trabajando, Atari estaba diseñando un juego para cuatro jugadores en el que tenían la idea de usar microprocesadores para desarrollar el juego. Eso era algo novedoso, ya que por la época los juegos se creaban a base de circuitería electrónica. La idea usar procesadores en el desarrollo de juegos era un salto importante, ya que estos podrían crearse con software, es decir, programando el procesador, esto no sólo abarataría el desarrollo de los mismos, sino que además abriría las puertas de esta industria a mucha más gente. Ya uno necesitaba ser un ingeniero o un buen diseñador de circuitos digitales para crear un juego. Cualquiera desde su casa con ordenador podría crear su propio juego, incluso los niños.

En aquella planta en la que estuvo Wozniak, hubo otra cosa que le llamó mucho la atención. Había una televisión en color que no se utilizaba para los videojuegos. Atari sólo utilizaba televisores en blanco y negro, pero Woz no podía quitarle ojo a esa pantalla que tenía un punto que se desplazaba de izquierda a derecha, el cual iba cambiando de color al mismo tiempo. Woz estaba hipnotizado por ese colorido movimiento del píxel por la pantalla cuando de repente le llegó la inspiración. Se le había ocurrido una forma de obtener hasta 16 colores diferentes utilizando la señal digital. Según Wozniak, por aquella época nadie había hecho nada parecido. Crear color en la pantalla usando ceros y unos, era algo novedoso.

Estas dos ideas marcarían el futuro de una empresa que aún no existía: Apple. Wozniak basándose en dichas ideas crearía el producto que lanzó a Apple en el mercado: Apple ][.


AppleII_2.jpg

El Apple ][ fue un ordenador diseñado principalmente como una máquina de juegos. Una de las primeras cosas que hizo Wozniak cuando creó el Apple ][, fue crear un lenguaje de programación que le permitiera crear juegos. Para ello creó un lenguaje BASIC al que inicialmente llamó “Game BASIC”. Todo lo que le rondaba en la cabeza a Wozniak era crear vídeo juegos con colores y usando software. Dicho y hecho, Wozniak fue capaz de crear una versión del ya mencionado Breakout usando su “Game BASIC”.

Así nacería el Apple ][, un ordenador personal económicamente permisible, que podría ser usado para trabajar y jugar a la vez.

Entradas relacionadas: