Locomotive BASIC
Locomotive BASIC software | |
---|---|
Genere | Interprete |
Sviluppatore | Locomotive Software Ltd. |
Data prima versione | 1984 |
Ultima versione | 1.1 (1984) |
Sistema operativo | |
Licenza | software proprietario (licenza non libera) |
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 wikitesto]Il Locomotive BASIC era un interprete semplice ma potente, con dei comandi dedicati alla gestione della grafica come DRAW
, PLOT
, INK
, PAPER
FILL
(quest'ultimo 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, PEEK e POKE
per modificare/leggere il contenuto di una cella di RAM.
I rivali dell'epoca
[modifica | modifica wikitesto]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 wikitesto]- ^ a b c Elenco dei comandi e storia del Locomotive BASIC, su cpcwiki.eu. URL consultato il 23/10/10.
- ^ Dettagli e sintassi del Locomotive BASIC, su cpcwiki.eu. URL consultato il 23/10/10.
Bibliografia
[modifica | modifica wikitesto]- Gaetano Marano, Programmi per Amstrad - CPC 464, CPC 664, CPC 6128, Gruppo Editoriale Jackson, 1986, ISBN 88-7056-436-3.
Voci correlate
[modifica | modifica wikitesto]Altri progetti
[modifica | modifica wikitesto]- Wikimedia Commons contiene immagini o altri file su Locomotive BASIC