fbpx
Wikipedia

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.

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. Estos 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.

Véase también

  •   Datos: Q1753474
  •   Multimedia: Locomotive BASIC

locomotive, basic, locomotive, basic, dialecto, lenguaje, programación, basic, escrito, compañía, británica, locomotive, software, para, gama, ordenadores, amstrad, antecesor, mallard, basic, intérprete, para, suministrado, amstrad, posteriormente, editado, pa. Locomotive Basic es un dialecto del lenguaje de programacion BASIC escrito por la compania britanica Locomotive Software para la gama de ordenadores CPC de Amstrad Fue el antecesor del Mallard BASIC el interprete para CP M suministrado con los Amstrad PCW y posteriormente editado para los ZX Spectrum 3 Indice 1 Historia 2 Caracteristicas 3 Ventajas sobre sus rivales 4 Inconvenientes 5 Vease tambienHistoria EditarFue publicado en dos versiones Version 1 0 suministrada con los modelos Amstrad CPC 464 y Amstrad CPC 472 con teclado ingles Version 1 1 suministrada con el resto de la gama CPC Ambas venian incluidas en la ROM interna del aparato Caracteristicas EditarSe trataba de una implementacion del BASIC sencilla pero potente para su epoca Incluia comandos dedicados para el manejo de graficos tales como DRAW DRAWR PLOT INK PAPER FILL en la version 1 1 que incluso permitian la creacion de multiples pantallas y ventanas aunque el sistema de colores y el manejo de la paleta eran algo incomodos de manejar Como curiosidad habia una tabla con los codigos numericos 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 sobresalia sobre otros BASICs de su epoca por ofrecer un mecanismo de interrupciones por software basado en temporizadores usando los comandos EVERY o AFTER Estos posibilitaban llamar a una linea de programa determinada bien a intervalos regulares bien despues de un tiempo preseleccionado respectivamente Tambien ofrecia un control casi total sobre el chip de sonido de los CPC el AY 3 8912 con 3 canales melodicos y un canal de ruido el cual tambien fue usado en los ZX Spectrum 128 y posteriores Atari ST y MSX aunque ninguno de estos incluia un equivalente al comando SOUND tan completo Todo desde seleccionar un canal concreto o una combinacion de canales seleccionar envolventes volumen frecuencia ruido etc podia hacerse con un simple comando SOUND con hasta 7 parametros La unica cosa que no era posible hacer desde BASIC era quizas reproducir sonidos digitales sampleados para esto habia que recurrir al codigo maquina La gestion de discos cintas y archivos se hacia desde el propio BASIC y normalmente era suficiente para una sencilla administracion de archivos con comandos como GET PUT ERASE SAVE MERGE RUN CAT LOAD etc De hecho el Locomotive BASIC hacia las veces de sencillo sistema operativo al igual que en otros ordenadores domesticos de la epoca Asi mismo disponia de varios comandos especiales para el manejo y de la memoria como MEMORY y el comando LOAD con parametros que permitia por ejemplo cargar un archivo conteniendo una imagen sin comprimir directamente a la memoria de video siendo esta mostrada en la pantalla Usando las direcciones de memoria apropiadas como parametros de los comandos LOAD y SAVE se podia manejar imagenes de pantalla de 16KB facilmente Llamando a otras direcciones con el comando CALL se podia obtener un reset forzado del sistema CALL amp 0 pausar la ejecucion del programa hasta la pulsacion de una tecla por el usuario CALL amp 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 amp BD19 precisamente a esta funcion le fue dedicado un comando en la version 1 1 FRAME Con los comandos PEEK y POKE se podian leer y escribir respectivamente bytes individuales en la memoria RAM lo que proporcionaba un agradable interfaz entre BASIC y el codigo maquina Ventajas sobre sus rivales EditarEl Locomotive BASIC fue competidor entre otros del BASIC del Commodore 64 el cual no disponia de comandos dedicados para graficos o sonido En general el BASIC de Locomotive permitia hacer practicamente todo de lo que se disponia con las capacidades estandar de la maquina Esto no es en absoluto desdenable ya que en muchas otras maquinas de la epoca usar graficos o sonido estaba solo restringido a la programacion en ensamblador Las unicas 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 simultaneamente reproduccion de samples digitales y scroll suavizado Al contrario que los BASICs del ZX Spectrum o el Commodore 64 los cuales tenian varios atajos de teclado o teclas especializadas para simbolos o colores las palabras clave del Locomotive BASIC debian ser tecleadas enteras y el interprete las parseaba reconocia y tokenizaba Aun asi existian abreviaturas como para el comando PRINT y unos pocos atajos Los programas podia salvarse y recuperarse en cinta o disco como archivos binarios o ASCII Inconvenientes EditarLas pegas del Locomotive BASIC incluian la ausencia de programacion estructurada algo comun en casi todos los BASICs de su tiempo excepto el BBC BASIC del BBC Micro fabricado por Acorn Computers El Locomotive BASIC requeria de numeros de linea e interpretaba el codigo a una velocidad mas bien lenta especialmente cuando se trataba de graficos Esto podia ser corregido compilando el codigo fuente pero los compiladores aunque los hubo eran un extra de pago no incluidos de serie con la maquina Aun con eso hubo muchos juegos para el CPC incluso comercializados escritos enteramente en Locomotive BASIC asi como aplicaciones de gestion programas educativos y utilidades Vease tambien EditarLocomotive BASIC 2 Datos Q1753474 Multimedia Locomotive BASICObtenido de https es wikipedia org w index php title Locomotive BASIC amp oldid 120329755, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos