Una manzana II flotando en Wozniakspace

¿Alguna vez has querido programar una computadora antigua? Si usa el lenguaje de programación BASIC y ejecuta una simulación del legendario Apple II en su navegador, ¡es fácil! Obtendrá una excelente idea de cómo era la programación a fines de la década de 1970 y principios de la de 1980.

Por supuesto, si tienes un Apple II real, también puedes seguirlo. De lo contrario, usaremos un práctico emulador de Apple II llamado Apple] [js creado por Will Scullin. Cubriremos los conceptos básicos de BASIC y ejecutaremos dos programas simples.

Por qué Apple II era tan importante

Un hombre en un escritorio escribiendo en el gran teclado Apple II en un anuncio de 1977.

Introducido en 1977, el Apple II  se lanzó como parte de una clase de computadoras pequeñas y económicas que fue posible gracias a la tecnología de microprocesadores. Estas computadoras personales permitieron a las personas poseer y operar sus propias máquinas con relativa facilidad. Antes de esto, la mayoría de las computadoras eran caras y solo eran propiedad (o compartidas) de grandes organizaciones.

El Apple II se destacó por su bajo costo y gráficos en color. También tenía siete ranuras de expansión internas que funcionaban con el sistema de disquete menos costoso del mundo en ese momento, el Disk II. El diseño de circuitos del cofundador de Apple,  Steve Wozniak, permitió que todas estas características encajaran en una pequeña máquina de escritorio con una caja de plástico liviana.

El Apple II fue un gran éxito para Apple. En el transcurso de su vida útil aproximada de 16 años (se suspendió en 1993), la plataforma Apple II albergó siete versiones del diseño de computadora original de Wozniak. Una computadora Apple II típica venía equipada con 48 o 64 KB de RAM y una CPU 6502 a 1.022 MHz. Podrías programar todos los modelos en BASIC.

Los fundamentos de BASIC

Líneas de código tenues sobre un fondo azul (la interpretación de un artista de Applesoft BASIC).

Desde finales de la década de 1970 hasta principios de la de 1980, la mayoría de las computadoras personales incluían un lenguaje de programación conocido como BASIC, un acrónimo de Código de instrucción simbólica para todo uso para principiantes. BASIC surgió en 1964 en el sistema de tiempo compartido de Dartmouth CollegeRápidamente se convirtió en una herramienta educativa popular para la informática debido a su facilidad de uso.

El Apple II se envió con dos versiones principales de BASIC a lo largo de los años: Integer BASIC de Wozniak y Applesoft. Microsoft creó Applesoft mucho antes de que se hiciera famoso para Windows.

Para este artículo, usamos Applesoft BASIC.

Algunos consejos de sintaxis

Todos los programas BASIC del Apple II están compuestos por líneas de código. Cada línea tiene un número, y cuando se ejecuta un programa, la computadora ejecuta cada línea en orden numérico de menor a mayor. Cada línea se ingresa en la memoria de la computadora presionando la tecla Retorno.

Estos tres comandos BÁSICOS fundamentales siempre serán útiles.

  • En cualquier momento durante la programación, puede ver el contenido de su programa escribiendo el LISTcomando.
  • Para iniciar un nuevo programa (borrando el programa actual de la memoria), escriba NEW.
  • Para borrar la pantalla, escriba HOME.

Si comete un error mientras escribe en el programa, Apple II devolverá un "ERROR DE SINTAXIS" al ejecutar el programa, e incluirá un número de línea donde ocurrió el error. Simplemente vuelva a escribir la línea ofensiva, comprobando dos veces por posibles errores tipográficos.

¿Entendido? Empecemos.

Tu primer programa

Primero, vamos a escribir un programa muy simple que cuenta hacia arriba para siempre. Es una forma rápida de probar si BASIC está funcionando correctamente en cualquier sistema.

Si tienes un Apple II real, enciéndelo. Asegúrese de utilizar una máquina con Applesoft en ROM, como Apple II Plus o posterior, o una Apple II original con la tarjeta de idioma adecuada.

Si está siguiendo sin un Apple II real, abra una nueva ventana del navegador al emulador Apple] [js . Apple] [js usa JavaScript para simular los circuitos de un Apple II real en software. Básicamente, ejecutará un sistema Apple II completo en un navegador web (funciona mejor en Google Chrome).

Cuando carga el emulador por primera vez (o inicia un Apple II sin un sistema de disquete), verá una pantalla como la que se muestra a continuación.

La pantalla de inicio en Apple] [js.

Presione o haga clic en "Restablecer".

Presione "Restablecer".

Oirá un pitido y luego verá un mensaje “]” con un cursor parpadeante.

Un Apple II "]" y un cursor.

Cuando se le solicite, escriba lo siguiente y presione Entrar (o Retorno) al final de cada línea:

10 X = X + 1
20 IMPRIMIR X
30 GOTO 10

Si comete un error, simplemente use la tecla de flecha izquierda en su teclado para mover el cursor hacia atrás y hacer correcciones. Los nuevos caracteres que escriba sobrescribirán a los antiguos. También puede volver a escribir toda la línea.

Cada vez que escribe una línea de código con un cierto número de línea, BASIC reemplaza lo que estaba almacenado previamente en ese número de línea con la nueva entrada.

El programa BÁSICO "10 X = X + 1", "20 PRINT X" y "30 GOTO 10" en Apple II.

Cuando usa BASIC en un sistema más antiguo, como Apple II, es común numerar las líneas en múltiplos de 10. Esto le da espacio para agregar nuevas líneas de código entre ellos más adelante si es necesario.

A continuación, escriba LISTy luego presione Entrar (o Retorno) para ver una lista de su programa.

La "Lista" del programa BASIC "10 X = X + 1", "20 PRINT X" y "30 GOTO 10" en Apple II.

Si accidentalmente termina con líneas que no necesita (por ejemplo, si escribió 32 en lugar de 30), simplemente escriba el número de línea y presione Entrar (o Retorno) para eliminarlo.

Si todo parece estar bien, es hora de ejecutar su programa. Escriba RUNen el indicador] y luego presione Entrar (Retorno).

Salida del programa de conteo en Apple II.

El programa cuenta hacia arriba de uno en uno para siempre e imprime cada número en una nueva línea en la parte inferior de la pantalla.

Para detener el programa, presione Ctrl + C. Esto hará BREAKel programa, interrumpiendo su ejecución.

Un comando "Break" en el programa de conteo en Apple II.

Entonces, ¿cómo funciona este programa? Vamos a dividirlo línea por línea:

10 X = X + 1
20 IMPRIMIR X
30 GOTO 10
  • Línea 10: Aquí, le decimos al programa que una variable llamada "X" es igual a sí misma más uno. Al comienzo del programa, "X" es igual a cero. Entonces, en su primera pasada, el programa agrega uno a cero, lo que resulta en uno.
  • Línea 20: El programa utilizará el PRINTcomando para mostrar el contenido de la variable "X" en la pantalla.
  • Línea 30: Usamos el GOTOcomando para enviar el programa de regreso a la línea 10 en un bucle. El valor de la variable “X” (ahora incrementado en uno) se retroalimenta en la línea 10. El programa luego repite este proceso para siempre, contando hacia arriba de uno en uno y luego imprime el resultado en cada ciclo.

Un programa de entrada simple

Ahora que ha probado escribir, enumerar, ejecutar y romper un programa, echemos un vistazo a uno que puede hacer algo con la entrada que le da.

Primero, escriba NEWy presione Entrar (Retorno). Esto borra nuestro último programa de la memoria, para que podamos empezar de nuevo.

Escriba lo siguiente línea por línea y luego presione Entrar (Retorno) al final de cada uno:

10 IMPRIMA "¿CUÁL ES SU NOMBRE?"
20 ENTRADA N $
30 IMPRIMA "HOLA"; N $

Cuando haya terminado, LISTel programa volverá a verificar que lo haya escrito correctamente.

Los comandos "10 PRINT 'WHAT IS YOUR NAME?'," 20 INPUT N $, "y" 30 PRINT "HELLO,"; N $ "son emitidos por el comando" LIST "en Apple II.

A continuación, escriba RUNy presione Entrar (Retorno) para ejecutarlo. El programa le pedirá información con un signo de interrogación ( ?). Escriba su nombre y presione Entrar (Retorno) para responder la pregunta.

El programa de nombres que se ejecuta en BASIC en Apple II.

Como una especie de magia oscura arcana, el programa sabía tu nombre y te respondió. ¿Cómo funcionó? Echemos un vistazo a cada línea:

10 IMPRIMA "¿CUÁL ES SU NOMBRE?"
20 ENTRADA N $
30 IMPRIMA "HOLA"; N $
  • Línea 10: el programa mostró una línea de texto en la pantalla. Cada línea de texto que desee PRINTdebe estar entre comillas.
  • Línea 20: El programa te solicita INPUTy almacena el resultado en una variable llamada N$El signo de dólar es la abreviatura de "cadena". Cada variable que incluye letras debe ser una variable de tipo cadena.
  • Línea 30:  el programa que se muestra  Hello, seguido de una coma y un espacio, y luego imprime el contenido de la variable N$El punto y coma indicaba al programa que imprimiera N$en la misma línea sin insertar un salto de línea.

Raspando la superficie

Una ilustración de personas que utilizan computadoras Apple II del "Applesoft BASIC Manual" publicado en 1978.

Ahora que ha probado BASIC en el Apple II, ¡puede decirles a todos sus amigos que ha programado una computadora antigua! De hecho, incluso puedes decírselo a Steve Wozniak en Twitter.

Si desea profundizar más en Applesoft BASIC, le recomendamos este maravilloso tutorial en línea de Yuri Yakimenko. Entra en muchos más detalles de los que tenemos aquí. También está esta práctica referencia rápida de los comandos de Applesoft BASIC.

También está disponible un escaneo completo del Manual de programación básico de Apple II de 1978. Entra en detalles sobre cómo guardar y cargar sus programas.

Se han programado miles de juegos y aplicaciones increíbles en Applesoft durante los últimos 42 años, por lo que el cielo es el límite de lo que puede hacer con él. (En realidad, la cantidad de RAM en su máquina es el límite, pero eso es mucho menos poético).

Para todos los veteranos de Apple II, nos encantaría escuchar sus historias sobre el uso de BASIC en los comentarios. ¡Feliz programación!