Locomotive BASIC

Da Wikipedia, l'enciclopedia libera.
Locomotive BASIC
Sviluppatore Locomotive Software Ltd.
Ultima versione 1.1 (1984)
Sistema operativo
Genere Interprete
Licenza software proprietario
(Licenza chiusa)

Il Locomotive BASIC è un interprete BASIC scritto da Locomotive Software per l'uso esclusivo sui computer Amstrad CPC, dov'era preinstallato in ROM. Dal Locomotive BASIC è derivato il Mallard BASIC, presente nel sistema operativo CP/M fornito con l'Amstrad PCW e successivamente nello ZX Spectrum +3 di Amstrad.[1]

È stato pubblicato in 2 versioni: la 1.0, presente solo nel CPC modello 464, e la 1.1, presente in tutti gli altri modelli, compresi quelli della serie Plus.[2]

Caratteristiche[modifica | modifica sorgente]

Il Locomotive BASIC era un interprete semplice ma potente, con dei comandi dedicati alla gestione della grafica come DRAW, PLOT, INK, PAPER (e FILL nella versione 1.1) e per creare schermi multipli o finestre. Nonostante la sua semplicità, surclassava gli interpreti BASIC degli altri computer con alcune peculiarità quali la gestione di interrupt software basati sul tempo: usando i comandi EVERY e AFTER si poteva far eseguire una riga del listato ad intervalli regolari oppure dopo un certo lasso di tempo, rispettivamente.[1]

Forniva inoltre il pieno controllo sul chip sonoro del CPC, un AY-3-8912 dotato di 3 generatori musicali ed 1 generatore di rumore. Questo chip fu usato anche negli ultimi modelli dello ZX Spectrum così come negli Atari ST e nei computer MSX, anche se nessuno degli interpreti BASIC di queste macchine aveva i comandi per gestirlo pienamente come invece faceva il Locomotive BASIC tramite il comando SOUND: questo accettava 7 parametri per definire ogni aspetto del suono da riprodurre, dai canali da usare al volume alle caratteristiche dell'onda sonora.

L'interprete offriva anche comandi per la gestione dei file, dei dischi e delle cassette con comandi come GET, PUT, ERASE, SAVE, LOAD, RUN, MERGE, ma si trattava di un fattore comune a molti BASIC per sistemi ad 8 bit dato che spesso questi interpreti assolvevano anche al compito di sistema operativo del computer.

La gestione della memoria era affidata a comandi quali MEMORY, per impostare la memoria da riservare al BASIC, LOAD/SAVE, per caricare/salvare dei dati direttamente a partire da uno specifico indirizzo RAM, CALL, per chiamare delle routine presenti in particolari punti della memoria del computer, POKE e PEEK per modificare/leggere il contenuto di una cella di RAM.

I rivali dell'epoca[modifica | modifica sorgente]

Se comparato con il Commodore BASIC del Commodore 64, che non aveva comandi per la gestione della grafica e del suono, il Locomotive BASIC permetteva di sfruttare quasi tutte le caratteristiche del computer, compresi gli sprite, la grafica e l'audio, che nel C64 potevano essere gestite solo tramite una complicata sequela di POKE oppure ricorrendo al linguaggio macchina. Gli MSX e lo Spectrum offrivano invece dei BASIC con potenzialità simili e con un set di comandi più o meno completo per la gestione della grafica e del suono.

Le uniche cose non gestibili dal Locomotive BASIC erano la modalità overscan, usata in alcuni giochi, i modi grafici a 27 colori, la riproduzione di audio in sottofondo, e lo scorrimento dell'immagine.[1]

A differenza del Sinclair BASIC o del BASIC del C64, che usavano molte abbreviazioni da tastiera per l'inserimento dei comandi o dei tasti speciali per la selezione di simboli e colori, il Locomotive BASIC richiedeva la digitazione completa di quasi tutte le parole chiave, che erano poi processate dall'interprete e rese in forma di token, usando solo pochissime abbreviazioni, come "?" per PRINT. I programmi potevano essere memorizzati su dischetto o su cassetta, sia in forma binaria che ASCII.

Note[modifica | modifica sorgente]

  1. ^ a b c Elenco dei comandi e storia del Locomotive BASIC, CPCwiki.eu. URL consultato il 23/10/10.
  2. ^ Dettagli e sintassi del Locomotive BASIC, CPCwiki.eu. URL consultato il 23/10/10.