BASIC de Simons era una extensión de BASIC 2.0 para la computadora doméstica Commodore 64 . Escrito por el programador británico David Simons en 1983, que en ese momento solo tenía 16 años, fue distribuido por Commodore en formato de cartucho .
![]() La pantalla de inicio BÁSICA de Simons. Tenga en cuenta los colores de fondo y texto alterados (en comparación con los tonos azules normales de C64), y la reducción de la memoria del programa BASIC disponible en los 8 KB utilizados por el cartucho (mapeado en memoria). | |
Autor (es) original (es) | David Simons |
---|---|
Desarrollador (es) | Comodoro |
Versión inicial | 1983 |
Sistema operativo | Comodoro 64 |
Tipo | extensión |
Es ampliamente, pero incorrectamente, llamado " BÁSICO de Simon ", debido a la confusión entre el nombre de pila "Simon" y el apellido "Simons".
Características
BASIC de Simons agregó una serie de características a Commodore BASIC 2.0: [1]
- 114 palabras clave adicionales
- comandos para facilitar la codificación de sprites
- comandos para facilitar la codificación de gráficos multicolores y de alta resolución
- comandos para facilitar la codificación del sonido
- comandos para ayudar en la programación estructurada
- palabras clave para ayudar a escribir y editar programas BÁSICOS, similares a los del cartucho de ayuda del programador VIC-20
Los programas escritos en el BASIC de Simons podrían emplear números hexadecimales en asignaciones y cálculos al incluir un $prefijo, o números binarios al utilizar un %prefijo.
Debido a que una parte de los datos del cartucho se asigna a la memoria en direcciones $ 8000– $ 9FFF, que se superpone a parte de la RAM BÁSICA C64 estándar , la cantidad de memoria disponible para programas BÁSICOS era 8 KB menos que la de una configuración C64 estándar.
Una extensión fue escrita por Simons y publicada por Commodore en disquete y cinta como Extensión Básica de Simons. Este software también se conoce como Simons 'Basic 2. No se pudo lanzar en cartucho porque el cartucho original de Simons' Basic tenía que estar presente para poder usar la extensión. La extensión básica de Simons agrega otros 91 comandos, incluido el codiciado comando RENUMber que renumera los destinos de las declaraciones GOTO y GOSUB. [2]
Las 114 palabras clave
Sprite (MOB) que maneja palabras clave
- MOB SET - habilita un sprite y define sus atributos
- MMOB - coloca un objeto en la pantalla
- RLOCMOB - hace que un objeto se mueva suavemente de un lugar a otro
- CMOB - configura los dos colores globales para sprites multicolores
- MOB OFF - desactiva un sprite
- DETECT - inicializa la detección de colisiones de sprites
- CHECK - comprueba si hay una colisión de sprites
Palabras clave de manejo de gráficos de alta resolución
- HIRES - inicializa un modo de gráficos de alta resolución
- MULTI - inicializa un modo de gráficos multicolor
- NRM - vuelve a la pantalla de texto
- LOW COL - cambia los colores de trazado
- HI COL - vuelve a los colores de trazado originales
- PLOT - dibuja un píxel
- LINE - dibuja una línea
- CIRCLE - dibuja un círculo
- ARC - dibuja un arco
- ANGL - dibuja el radio de un círculo
- PAINT - realiza un relleno de inundación
- REC - dibuja un rectángulo hueco
- BLOCK - dibuja un rectángulo sólido
- DRAW - dibuja un conjunto de líneas definido por el usuario
- ROT - establece factores de escala para DRAW
- CHAR - traza un carácter de texto en una pantalla de alta resolución
- TEXT - traza una cadena de texto en una pantalla de alta resolución
- TEST - determina si un píxel está trazado o vacío
Otras palabras clave de manejo de gráficos
- COLOUR: Establece los colores de fondo y borde. (La ortografía "COLOR" es correcta para los británicos y se incorporó de esa manera en el cartucho BASIC de SIMONS).
- CSET - selecciona un juego de caracteres
- MEM - copia la ROM de caracteres a la RAM
- BCKGNDS - configura el modo de color de fondo extendido
- FLASH - configura un color de pantalla para parpadear
- OFF- cancela una FLASHdirectiva anterior
- BFLASH - hace que el borde de la pantalla parpadee
- FCHR - llena un área de la pantalla de texto con un código de carácter dado
- FCOL - cambia los colores de los personajes para un área seleccionada de la pantalla
- FILL- una combinación de FCHRyFCOL
- MOVE - copia una sección de la pantalla
- INV - muestra un área de pantalla al revés
- LEFT - desplaza la pantalla hacia la izquierda
- RIGHT - desplaza la pantalla hacia la derecha
- UP - desplaza la pantalla hacia arriba
- DOWN - desplaza la pantalla hacia abajo
- GRAPHICS- variable reservada que siempre es igual a $ D000 (la dirección base del chip VIC-II )
- SCRSV - guarda una pantalla de texto en cinta o disco
- SCRLD - carga una pantalla de texto desde una cinta o un disco
Palabras clave de manejo de sonido
- MUSIC - reproduce una serie de notas basadas en el contenido de una variable de cadena
- PLAY - determina si el programa continúa ejecutándose durante MUSIC
- VOL - especifica el volumen del sonido maestro
- WAVE - especifica un tipo de voz
- ENVELOPE- establece los parámetros ADSR para una voz SID
- SOUND - variable reservada que siempre es igual a $ D400 (la dirección base del chip SID)
Palabras clave de manejo de entrada de teclado
- FETCH - toma la entrada del usuario con restricciones definidas por el comando
- INKEY - comprueba la pulsación de una tecla de función
- ON KEY - comprueba la pulsación de una tecla determinada, luego realiza una rama si está presente
- DISABLE- desactiva la ON KEYdirectiva anterior
- RESUME- vuelve a habilitar la ON KEYdirectiva anterior
Ingrese palabras clave de manejo de periféricos
- JOY- lee un joystick
- POT- lee una paleta
- PENX- se lee en la pluma de luz 'es horizontal posición
- PENY - lee la posición vertical del lápiz óptico
Palabras clave de definición de carácter personalizado / Sprite
- @ - describe una línea en un sprite o gráfico de carácter personalizado
- DESIGN- usa @líneas vecinas para definir un sprite o personaje personalizado
Error al capturar palabras clave
- ON ERROR - establece una rutina para atrapar condiciones de error
- OUT - finaliza una rutina de manejo de errores
- NO ERROR- cancela ON ERRORy restaura el manejo normal de errores BASIC
Palabras clave de manejo de disco
- DIR - muestra el directorio del disco sin destruir el programa BASIC en la memoria (solo unidad 8)
- DISK - envía una cadena al canal de comando de la unidad de disco (solo unidad 8)
Palabras clave de manejo de la impresora
- HRDCPY- envía la pantalla de texto a la impresora
- COPY - envía la pantalla de alta resolución a la impresora
Palabras clave de manipulación de cadenas
- INSERT- Inserta una cadena en medio de otra (Nota: No hay ningún signo dólar después de que INSERT, a diferencia de otros operadores de cadena tales como STR$, LEFT$, RIGHT$, etc.)
- INST- similar a INSERT, pero sobrescribe en lugar de insertar. (Nota: al igual que con INSERT, no hay un signo de dólar después INST).
- PLACE - busca una cadena en medio de otra
- DUP: Duplica una cadena de caracteres un número determinado de veces. (Nota: al igual que con INSERT, no hay un signo de dólar después DUP).
Palabras clave de formato de texto
- PRINT AT - imprime una cadena en una ubicación de pantalla determinada
- CENTRE- centra una cadena de caracteres en la pantalla. (Recuerde, CENTER es correcto para los británicos).
- USE- formatea datos numéricos en cadenas basadas en una plantilla, al igual que PRINT USINGen otras versiones avanzadas de BASIC en otras computadoras, por ejemplo, el Commodore 128 , por ejemplo.
- LIN - devuelve la posición vertical del cursor
Palabras clave de matemáticas
Nota: Estas operaciones están restringidas a valores que encajan en un entero sin signo de 16 bits, en lugar del rango de punto flotante completo utilizado por las funciones y operaciones aritméticas BASIC incorporadas.
- MOD - realiza una operación de división y devuelve el resto
- DIV - realiza una operación de división y devuelve el cociente entero
- FRAC - aísla la porción fraccionaria de un número
- EXOR - realiza una operación lógica O exclusiva
Palabras clave de ayuda al programador
- AUTO - genera automáticamente números de línea cuando se ingresa un programa BÁSICO
- RENUMBER- renumera un programa BASIC (pero no arregla GOTO/ GOSUBsentencias).
- OLD- recupera un programa eliminado accidentalmente por el NEWcomando
- KEY- asigna una cadena como macro a una tecla de función
- DISPLAY - muestra todas las macros de teclas de función
- MERGE - fusiona un programa BÁSICO de una cinta o un disco en el programa actualmente en la memoria
- PAGE - muestra una lista de programas BÁSICOS en formato de página
- OPTION- resalta las palabras clave BÁSICAS de Simons cuando se usa el LISTcomando
- DELAY- varía la velocidad a la que el LISTcomando se desplaza por la pantalla
- FIND - busca en el programa una cadena
- TRACE - muestra los números de línea mientras se ejecuta un programa
- RETRACE - muestra los resultados de una traza
- DUMP - muestra todos los valores de las variables excepto las matrices
- COLD - reinicia el C64
- DISAPA - marca una línea de programa BÁSICA para ocultar
- SECURE- oculta todas las líneas marcadas con DISAPApara que no se puedan ver conLIST
Palabras clave de programación estructurada
- ELSE- permite una rama alternativa para IF/ THENcondicionales
- REPEAT- inicio de una estructura REPEAT/ UNTILloop
- UNTIL- define la condición de bucle para una estructura de REPEAT/ UNTILbucle y marca su final
- RCOMP- restablece el IF/ THEN/ ELSEcondicional utilizado más recientemente
- LOOP- define el inicio de un ciclo que se ejecutará hasta que un EXIT IFcondicional sea verdadero
- EXIT IF- el condicional es cierto, por lo que sale de la corriente LOOP/ END LOOPestructura
- END LOOP- define el final de un ciclo que se ejecutará hasta que un EXIT IFcondicional sea verdadero
- PROC - define el inicio de una subrutina nombrada
- END PROC - define el final de una subrutina nombrada
- CALL- saltar a una subrutina con nombre definida con PROC/ END PROCy permanecer allí
- EXEC- llamar a una subrutina nombrada definida con PROC/ END PROC, luego regresar
- LOCAL - redefine variables para su uso en estructuras
- GLOBAL- invierte los efectos de un LOCALcomando anterior
Palabras clave varias
- CGOTO- equivalente a GOTO, pero acepta expresiones calculadas
- RESET- mueve el DATApuntero a un número de línea dado
- PAUSE - pausa la ejecución del programa durante un número específico de segundos
Otro
- $y %también se consideran palabras clave, para un total de 114.
Trivialidades
La banda Barcelona tituló su álbum debut de 1999 Simon Basic en homenaje. El álbum incluye la canción "C-64".
Recepción
Creative Computing declaró que el BASIC de Simons "casi convierte el 64 en una computadora nueva (probablemente la que debería haber sido en primer lugar)". Elogió el "manual muy fino" como contraste con la documentación generalmente pobre de Commodore, y predijo que se convertiría en "el lenguaje estándar para programar la máquina ... Será mejor que Commodore planee fabricar muchas copias porque irán rápido". [3] ¡Ahoy! escribió "Si realiza alguna programación en BASIC y ve este producto en el estante de un distribuidor, no haga ninguna pregunta, no lo dude, ¡simplemente cómprelo!" La revista elogió la potencia y el "excelente manual" del BASIC de Simons, y afirmó que "su precio lo convierte en una de las mayores ofertas disponibles para el Commodore 64". [4] RUN ' opinión s era menos favorable, afirmando que sus "muchos comandos potentes y útiles ... fueron, por desgracia, implementados muy mal para un paquete comercial. Hay muy poca comprobación parámetro de comando, y muchas cosas han pasado por alto o ignorado. " [5]
El cartucho BASIC original de SIMONS (sin la extensión) no tiene disposiciones para leer el canal de error en las unidades de disco Commodore 1541 y Commodore 1571 , ni puede realizar una lista de archivos DIRectory o emitir un comando DISK en cualquier unidad de disco que no sea Drive # 8 cuando hay más de una unidad de disco conectada al Commodore 64. Y aunque la mayoría de las palabras clave "estándar" de BASIC 2.0 se pueden abreviar escribiendo la primera o la primera y la segunda letra y luego manteniendo presionada la tecla MAYÚS mientras escribe la segunda (o tercera ) después de eso, todas las palabras clave BÁSICAS de SIMONS deben estar completamente escritas en su totalidad exactamente como se muestra en el manual del usuario adjunto. Esto incluye los comandos COLOR (que selecciona el color de fondo y el color del borde exterior) y CENTER (que imprime mensajes de texto que están "centrados" en la pantalla), los cuales están escritos correctamente para los británicos y están incorporados de esa manera en SIMONS. ' BÁSICO.
Referencias
- ^ Manual de usuario básico de Simons (publicado por Commodore)
- ^ Manual de usuario básico 2 de Simons (publicado por Commodore)
- ^ Onosko, Tim (noviembre de 1983). "Básico de Simons" . Computación creativa . pag. 60 . Consultado el 27 de junio de 2014 .
- ^ Kevelson, Morton A. (febrero de 1984). "BÁSICO de Simons" . ¡Ahoy! . págs. 57–58 . Consultado el 27 de junio de 2014 .
- ^ Baker, Robert W. (abril de 1985). "Una revisión del básico de Simons" . EJECUTAR . págs. 94–95 . Consultado el 27 de junio de 2014 .
enlaces externos
- Simons 'Basic User Guide on Internet Archive por David Simons, Commodore Computers, 1983. Descargable como PDF.
- Simons 'Basic Italian Reference Guide por David Simons, Commodore Editor, 1983.
- Tema del Foro Lemon64 con información informal del propio David Simons.