Applesoft BASIC | ||
---|---|---|
Información general | ||
Tipo de programa | intérprete | |
Lanzamiento inicial | 1977 | |
Información técnica | ||
Plataformas admitidas | Apple II | |
El Applesoft BASIC era un dialecto del lenguaje de programación BASIC suministrado de serie como intérprete BASIC con los microcomputadores Apple II. Reemplazó al Integer BASIC y era el BASIC en ROM en todas las computadoras de la serie de Apple II después del modelo original. También fue referido como FP (por punto flotante) debido al comando usado para invocarlo, a diferencia de comando INT para el Integer BASIC. El Applesoft BASIC fue suministrado por Microsoft y su nombre se deriva de los nombres de Apple y Microsoft. Los empleados de Apple, incluyendo Randy Wigginton, adaptaron el intérprete de Microsoft para el Apple II y agregaron varias características. La primera versión de Applesoft fue lanzada en 1977 solamente en cinta de casete y carecía de soporte apropiado para los gráficos de alta resolución. El Applesoft II, que estaba disponible en casete, disco y en la ROM del Apple II Plus y modelos subsecuentes, fue lanzado en 1978. Es esta última versión, que tiene algunas diferencias de sintaxis con respecto a la primera así como soporte para los modos gráficos de alta resolución del Apple II, la que la mayoría de la gente entiende por el término «Applesoft».
Los clientes de Apple exigían una versión de BASIC que soportara cálculos de coma flotante. Como Steve Wozniak, el creador del Integer BASIC y la única persona que lo entendían suficientemente bien para agregar las características de coma flotante, estaba ocupado con la unidad de disco Disk II y con el Apple DOS, Apple buscó a Microsoft, que era el vendedor de BASIC preferido después de su éxito con el Altair BASIC, y licenció una versión de 10 KB de BASIC escrita en lenguaje ensamblador denominada «Applesoft». Se informa que Apple obtuvo de Microsoft una licencia de ocho años para el Applesoft BASIC por un apgo único de US$21 000 ($98 100 en 2023), renovándolo en 1985 con un arreglo que dio a Microsoft los derechos y el código fuente para la versión de BASIC del Macintosh de Apple.
Applesoft era similar, y de hecho tenía una base de código común, con las implementaciones en otros computadores basados en el 6502, tales como el Commodore BASIC: usó números de línea, y los espacios no eran necesarios en las líneas. Mientras que Applesoft era más lento que el Integer BASIC, tenía muchas características que carecía éste:
DIM A$(10)
resulta en un arreglo de once variables de string numeradas de 0 a 10.CHR$
, STR$
, y VAL
para convertir entre los tipos de strings y numéricos (ambos lenguajes tenían la función ASC
)Inversamente, el Applesoft carecía del operador MOD
(residuo de la división) que había estado presente en el Integer BASIC.
Considerando que Wozniak se refería originalmente a su Integer BASIC como "Game BASIC" (BASIC de juego), habiéndolo escrito así para poder escribir un clon del Breakout para su nueva computadora, pocos juegos de acción fueron escritos en el Applesoft BASIC por varias razones:
GOTO
o un GOSUB
tomaba tiempo lineal O(n), y aunque los programas de Applesoft no eran muy largos comparados al software de hoy, en un 6502 de 1 MHz esto podía ser un embotellamiento significativo. Los programas grandes a menudo fueron escritos con las subrutinas más usadas en el tope del programa para reducir el tiempo de procesamiento para las llamadas de GOSUB.PRINT
de un carácter de campana del ASCII para producir la señal sonora de alarma del sistema (pitido). De todos modos el lenguaje no era suficientemente rápido para producir más que un zumbido de barítono por medio de clicks repetidos. Sin embargo, podía ser ejecutada música a través de varias octavas usando llamadas repetidas a un generador de tono en lenguaje de máquina.Hola mundo en Applesoft BASIC podía ser entrado como sigue:
10 TEXT:HOME 20 ?"HELLO WORLD"
Múltiples comandos podían ser incluidos en la misma línea de código si se separaban por dos puntos (:). La ? puede ser usada en el Applesoft BASIC como atajo para "PRINT", aunque deletrear la palabra no es sólo aceptable sino canónico - Applesoft convertía la "?" en los programas entrados al mismo token que "PRINT", así que cualquiera aparecería como "PRINT" cuando un programa era listado. El programa de arriba aparecería en un comando LIST
como:
10 TEXT : HOME 20 PRINT "HELLO WORLD"
Este artículo incluye texto de Everything2, licenciado bajo GFDL.
El Apple Business BASIC despachado con el computador Apple ///. Donn Denman portó el Applesoft BASIC hacia el SOS y lo trabajó para tomar ventaja de la memoria extendida del Apple ///. Siguiendo la tendencia de evitar las direcciones absolutas, los comandos PEEK y POKE fueron sustituidos por sentencias INVOKE y PERFORM que cargaban y ejecutaban separadamente módulos de código ensamblado.