Locomotive BASIC

Locomotive BASIC

Locomotive Basic es un dialecto del lenguaje de programación BASIC escrito por la compañía británica Locomotive Software para la gama de ordenadores CPC de Amstrad. Fue el antecesor del Mallard BASIC, el intérprete para CP/M suministrado con los Amstrad PCW, y posteriormente editado para los ZX Spectrum +3.

Contenido

Historia

Fue publicado en dos versiones:

  • Versión 1.0: suministrada con los modelos Amstrad CPC 464 y Amstrad CPC 472 con teclado inglés
  • Versión 1.1: suministrada con el resto de la gama CPC.

Ambas venían incluidas en la ROM interna del aparato.

Características

Se trataba de una implementación del BASIC sencilla, pero potente para su época. Incluía comandos dedicados para el manejo de gráficos, tales como DRAW, DRAWR, PLOT, INK, PAPER, FILL (en la versión 1.1), que incluso permitían la creación de múltiples pantallas y ventanas, aunque el sistema de colores y el manejo de la paleta eran algo incómodos de manejar. Como curiosidad, había una tabla con los códigos numéricos de los 27 colores del sistema impresa sobre la cubierta de la unidad de discos en el modelo CPC664 y posteriores.

Pese a su simplicidad, sobresalía sobre otros BASICs de su época por ofrecer un mecanismo de interrupciones por software basado en temporizadores, usando los comandos EVERY o AFTER. Éstos posibilitaban llamar a una línea de programa determinada, bien a intervalos regulares, bien después de un tiempo preseleccionado respectivamente.

También ofrecía un control casi total sobre el chip de sonido de los CPC, el AY-3-8912 con 3 canales melódicos y un canal de ruido (el cual también fue usado en los ZX Spectrum 128 y posteriores, Atari ST y MSX, aunque ninguno de éstos incluía un equivalente al comando SOUND tan completo). Todo, desde seleccionar un canal concreto o una combinación de canales, seleccionar envolventes, volumen, frecuencia, ruido, etc. podía hacerse con un simple comando SOUND, con hasta 7 parámetros. La única cosa que no era posible hacer desde BASIC era, quizás, reproducir sonidos digitales sampleados (para esto había que recurrir al código máquina).

La gestión de discos, cintas y archivos se hacía desde el propio BASIC, y normalmente era suficiente para una sencilla administración de archivos, con comandos como GET, PUT, ERASE, SAVE, MERGE, RUN, CAT, LOAD, etc. De hecho, el Locomotive BASIC hacía las veces de sencillo sistema operativo, al igual que en otros ordenadores domésticos de la época.

Así mismo, disponía de varios comandos especiales para el manejo y de la memoria, como MEMORY, y el comando LOAD con parámetros, que permitía, por ejemplo, cargar un archivo conteniendo una imagen sin comprimir directamente a la memoria de vídeo, siendo ésta mostrada en la pantalla. Usando las direcciones de memoria apropiadas como parámetros de los comandos LOAD y SAVE, se podía manejar imágenes de pantalla de 16KB fácilmente. Llamando a otras direcciones con el comando CALL, se podía obtener un reset forzado del sistema (CALL &0), pausar la ejecución del programa hasta la pulsación de una tecla por el usuario (CALL &BB18), o eliminar el parpadeo de la imagen en animaciones, al sincronizar en pantalla el movimiento de objetos con los ciclos de barrido del monitor (CALL &BD19); precisamente a esta función le fue dedicado un comando en la versión 1.1: FRAME. Con los comandos PEEK y POKE se podían leer y escribir respectivamente bytes individuales en la memoria RAM, lo que proporcionaba un agradable interfaz entre BASIC y el código máquina.

Ventajas sobre sus rivales

El Locomotive BASIC fue competidor, entre otros, del BASIC del Commodore 64, el cual no disponía de comandos dedicados para gráficos o sonido. En general, el BASIC de Locomotive permitía hacer prácticamente todo de lo que se disponía con las capacidades estándar de la máquina. Esto no es en absoluto desdeñable, ya que en muchas otras máquinas de la época, usar gráficos o sonido estaba sólo restringido a la programación en ensamblador. Las únicas cosas que quedaban fuera del alcance de BASIC eran los modos de pantalla "overscan" usados en algunos juegos y demos, modos usando los 27 colores simultáneamente, reproducción de samples digitales y scroll suavizado.

Al contrario que los BASICs del ZX Spectrum o el Commodore 64, los cuales tenían varios atajos de teclado o teclas especializadas para símbolos o colores, las palabras clave del Locomotive BASIC debían ser tecleadas enteras, y el intérprete las parseaba, reconocía y tokenizaba. Aun así, existían abreviaturas como "?" para el comando PRINT y unos pocos atajos. Los programas podía salvarse y recuperarse en cinta o disco como archivos binarios o ASCII.

Inconvenientes

Las pegas del Locomotive BASIC incluían la ausencia de programación estructurada, algo común en casi todos los BASICs de su tiempo, excepto el BBC BASIC del BBC Micro fabricado por Acorn Computers.

El Locomotive BASIC requería de números de línea, e interpretaba el código a una velocidad más bien lenta, especialmente cuando se trataba de gráficos. Esto podía ser corregido compilando el código fuente, pero los compiladores, aunque los hubo, eran un extra de pago no incluidos de serie con la máquina. Aún con eso, hubo muchos juegos para el CPC (incluso comercializados) escritos enteramente en Locomotive BASIC, así como aplicaciones de gestión, programas educativos y utilidades.


Wikimedia foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Mira otros diccionarios:

  • Locomotive BASIC — ist ein BASIC Dialekt der Schneider/Amstrad CPC 8bit Homecomputerbaureihe, im ROM enthalten und zugleich als OS gedacht, in Entwicklung, Befehlsumfang und durch den Hersteller, Locomotive, eng verwandt mit dem ebenfalls bekannten Mallard BASIC.… …   Deutsch Wikipedia

  • Locomotive BASIC — is a proprietary dialect of the BASIC programming language written by Locomotive Software used only on the Amstrad CPC (where it was built in on ROM). It was the main ancestor of Mallard BASIC, the interpreter for CP/M supplied with the Amstrad… …   Wikipedia

  • Locomotive BASIC — est un dialecte propriétaire du langage de programmation BASIC écrit par Locomotive Software. Disponible seulement sur certaines Compatible PC Amstrad (Amstrad PC 1512 par exemple) et tous les Amstrad CPC où l interpréteur était intégré sur une… …   Wikipédia en Français

  • Locomotive BASIC 2 — Este artículo o sección sobre informática necesita ser wikificado con un formato acorde a las convenciones de estilo. Por favor, edítalo para que las cumpla. Mientras tanto, no elimines este aviso puesto el 18 de agosto de 2010. También puedes… …   Wikipedia Español

  • Locomotive Software — era una pequeña empresa británica de software, la mayor parte de cuyos desarrollos fueron para los ordenadores domésticos y de pequeña empresa elaborados por Amstrad en los años 80. Locomotive escribió (o contribuyó de forma significativa) las… …   Wikipedia Español

  • Locomotive Software — was a small British software house which did most of its development for Amstrad s home and small business computers of the 1980s.It wrote or contributed significantly to the ROMs of the Amstrad CPC 464, Amstrad CPC 664 and Amstrad CPC 6128 home… …   Wikipedia

  • Locomotive Software — Locomotive Software, fondée en février 1983, est la société à l origine notamment du BASIC équipant l ordinateur personnel Amstrad CPC. Elle équipa par la suite d autres ordinateurs de la marque Amstrad comme les PCW. Les personnes à l origine de …   Wikipédia en Français

  • Basic (langage) — BASIC Pour les articles homonymes, voir Basic. {{{image}}}   Sigles d une seule lettre   Sigles de deux lettres   Sigles de trois lettres …   Wikipédia en Français

  • BASIC — Información general Paradigma estructurado imperativo Apareció en 1964 Diseñado por John George Kemeny; Thomas Eugene Kurtz …   Wikipedia Español

  • BASIC-256 — с …   Википедия

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”