Tengo algo de conocimiento de esto. Cuando salió el paquete de juegos TRS-80, había cinco juegos y mi juego de Damas era uno de ellos. Por supuesto, mi experiencia fue específica para la versión reducida de Basic en esa máquina. (Estaba basado en Palo Alto Tiny Basic). Este era un lenguaje interpretado, por lo que no había compilación involucrada. El programa se cargó en la memoria y cada instrucción se ejecutó como se encontró.
Lo primero que viene a la mente es almacenar programas en casetes de audio. No había un disquete todavía y muy lejos de un disco duro. Cargar programas en la memoria y volver a escribirlos en el cassette después de que su actualización le costó mucho tiempo de desarrollo. Recuerdo que una vez presioné el botón Grabar en la grabadora y tecleé el comando en la computadora para guardar el programa, justo cuando tiré accidentalmente el cable de alimentación de la grabadora de la pared con mi pie. Me recuperé conectando el cable nuevamente y luego me di cuenta de que el resultado era hash porque me había perdido la grabación de una parte importante del prólogo del programa. Tuve que empezar de nuevo, lo que resultó ser algo bueno porque mi nuevo diseño era mucho mejor que el que perdí.
Una vez que tuve una rutina que funcionó, inmediatamente comencé a reducirla cargando tanto como pude en una línea. Solo había 16K de memoria en la máquina. Cada línea que eliminó guardó cuatro bytes necesarios para su número de línea. Sin embargo, un byte tuvo que ser utilizado para el punto y coma entre las declaraciones. Algunas declaraciones tenían que comenzar en una nueva línea porque tenían que ser el objetivo de una declaración de rama. (Vea abajo.)
Algunos de los detalles del idioma: los tipos de datos se especificaron con la letra inicial del nombre de la variable, que se limitó a dos posiciones de longitud. Los números enteros comenzaron con las letras entre I y N, inclusive. (Las dos primeras letras de INteger, si te faltó esa ayuda de memoria). Había una matriz, cuyo tipo era Integer, del cual formé parte usando diferentes partes para diferentes propósitos. Creo que el estado actual del tablero de ajedrez estaba en las ubicaciones 101 a 164; Tuve lógica para definir esto como un subarray de 8 X 8. El valor contenido en la ranura en la matriz definió lo que había en ese cuadrado en el tablero: 1, pieza de la computadora; -1, pieza del oponente; 0, desocupada y 99, plaza ilegal. Las subrutinas fueron definidas por la palabra clave SUB y ejecutadas por GOSUB. La ramificación se realizó con el comando GO seguido de un número de línea. Los condicionales fueron hechos por IF . . . [ELSE. . .] [TERMINARA SI]. En realidad, había tres sintaxis diferentes para el MI, según el número y la naturaleza de las declaraciones que seguían la cláusula condicional. Las declaraciones de asignación eran simples: = .
Era un lenguaje completo y completo, pero un dolor real era el programa para programar. Terminé usando todos los 16K pero cinco bytes. Entiendo que el intérprete usó cuatro de esos cinco bytes para resolver direcciones. Perdí un byte.
Mi opinión sobre el programa es parcial, lo admito. El programa jugó un juego legal de damas. Me di cuenta de que algunos programas que venían más tarde a veces hacían movimientos ilegales y uno incluso tenía la placa configurada incorrectamente. El programa jugó con algunas sorpresas: la misma posición podría resultar en dos movimientos iguales en dos sesiones diferentes. La primera parte del juego era generalmente interesante porque el tablero estaba bastante lleno y no había muchos movimientos legales disponibles para la máquina. El juego del medio generalmente era un desafío: construí algunos movimientos agresivos para llegar al otro extremo del tablero y poner a algunos Kings en juego. El final del juego realmente apestó a lo grande. Sin ninguna motivación real, la computadora usualmente terminaba moviendo a los reyes de un lado a otro sin ninguna razón especial y fue pisoteada. Intenté arreglar esto, pero solo quedaba un byte y todo lo que se necesitaba en el programa era necesario. Me molestó durante un par de décadas, pero finalmente lo superé.
¿Cuáles son algunos recuerdos de la programación en computadoras domésticas en la década de 1980?
Related Content
¿Cuáles son algunos de los ganadores finales más memorables en el fútbol?
Cintas de casete, disquetes de un solo lado, televisores como monitores, gráficos de bloques, módems de 300 bps, sí, módems, tener que llamar a la compañía telefónica para que proporcione su número como uno que pueda manejar un módem, una computadora, alguien que levante el teléfono cuando usted está Usando el módem, los gráficos de bloques, el juego dr. J vs. Larry bird, mi Commodore 64, que fue un paso adelante de mi Vic 20, tratando de entender cómo una imagen se relacionaba con algunos números en los que se asomó / asomó, sin tener un lenguaje estandarizado para trabajar. Estoy seguro de que hay muchas otras cosas que vienen a la mente.
Un recuerdo duradero que tengo es el uso del pequeño teclado en el 8K Pet, que generalmente me daba una mano apretada después de una noche de programación del código de la máquina 6502. También recuerdo lo maravilloso que fue tener un total de 8K de memoria. ¡Pero no! Eso fue a finales de 1970.
Fue el teclado táctil Atari 400 de 1981 con sus 16K masivos lo que realmente fue mi mejor recuerdo: otra vez con el código de la máquina 6502.
Para Commodore Pet, creé una compañía llamada MicroStrategy en 1979 y durante 1980/81 creé 6 títulos de estrategia. Las ventas fueron muy lentas porque simplemente no había suficientes personas en el Reino Unido que fueran propietarias de Commodore Pets para jugar. Había unas cuantas mascotas, la mayoría de las cuales se utilizaban para aplicaciones comerciales.
Posiblemente dejar de escribir estos juegos, fue el mayor error que cometí en mi vida.
Así que me uní a Atari …………….
More Interesting
¿Qué has visto que sea inolvidable?
¿Cuál es tu recuerdo más maravilloso de la infancia?
¿Cuáles son algunos nombres únicos y memorables para los unicornios?
¿Qué recuerdos tienes de usar el comodoro 64?
¿Cuáles fueron algunos momentos memorables durante la caza que tuviste?
¿Cuál es tu experiencia más memorable en la escuela secundaria y por qué?
¿Cuáles son algunos de sus momentos memorables como / con un niño?