Loading AI tools
linguaggio di programmazione Da Wikipedia, l'enciclopedia libera
L'MSX BASIC è un dialetto del linguaggio di programmazione BASIC sviluppato da Microsoft per gli home computer MSX.
MSX BASIC linguaggio di programmazione | |
---|---|
Autore | Microsoft |
Data di origine | 1983 |
Ultima versione | 4.1 |
Utilizzo | home computer MSX |
Paradigmi | programmazione imperativa |
Influenzato da | Microsoft BASIC e GW-BASIC |
Implementazione di riferimento | |
Implementazione | interprete |
Sito web | www.microsoft.com |
Deriva dal Microsoft BASIC versione 4.5 anche se è stato influenzato dal GW-BASIC, un interprete BASIC per le macchine MS-DOS a 16 bit. L'MSX include il supporto per la gestione della grafica, dell'audio e delle periferiche collegate ai computer ed è stato sviluppato per essere flessibile ed espandibile.
L'MSX BASIC era integrato nella ROM di tutti i computer MSX, che lo richiamavano al loro avvio se nessun altro software residente su ROM era presente sulla macchina, come una cartuccia giochi o un'interfaccia dischi: in questi casi il sistema avviava o il gioco presente sulla cartuccia oppure il sistema operativo presente sul floppy, l'MSX-DOS.
Quando l'MSX BASIC veniva avviato, la ROM del BIOS e dell'interprete BASIC veniva mappata nei primi 32 kB dello spazio indirizzi della CPU Zilog Z80 mentre i restanti 32 kB venivano mappati in RAM: di questi, erano disponibili all'utente per il programma ed i dati dai 23 ai 28 kB, a seconda della presenza o meno del controller per il disco (4 kB) e del kernel dell'MSX-DOS (5 kB).
L'ambiente di sviluppo (IDE) dell'MSX BASIC era molto simile a quello del Dartmouth BASIC del Dartmouth Time Sharing System, vale a dire un'interfaccia a riga di comando in cui inserire i comandi e le istruzioni. Se la riga immessa iniziava con un numero, veniva considerata facente parte del programma dell'utente e memorizzata in RAM; in caso contrario, era considerata un comando da eseguire immediatamente (modalità diretta). L'IDE presentava un messaggio iniziale con il contenuto di memoria libera ed in basso un promemoria dei comandi associati ai tasti funzione del computer.
Ogni nuova versione dei computer MSX veniva offerta con una versione aggiornata dell'MSX BASIC. Tutte le versioni erano compatibili con le precedenti e fornivano le caratteristiche necessarie all'utilizzo dell'hardware rinnovato o aggiunto presente nei nuovi computer.
*: le grafiche a 424 linee erano disponibili solo in modalità interlacciata
SET SCROLL
per gestire tramite BASIC lo scorrimento hardware dolce del video*: modalità e codifiche colori permesse dal nuovo chip grafico Yamaha V9958
+: tecnicamente identiche, l'MSX BASIC trattava queste 2 modalità come differenti, usando lo Screen 11 per correggere il problema della sbavatura del colore nelle righe verticali mediante l'impiego dei colori RGB[1]
_PAUSE
per ricreare in BASIC delle attese indipendenti dalla CPU e dal clock._PCMPLAY
, _PCMREC
)Grazie al fatto che l'MSX BASIC fu progettato per essere espandibile, fu possibile realizzare delle estensioni al linguaggio in maniera relativamente facile. Il supporto per uno specifico hardware era aggiunto tramite l'utilizzo di cartucce di espansione, che servivano anche come interfaccia per l'hardware in questione. Il Disk BASIC ne è un esempio: integrato nella cartuccia che forniva l'interfaccia per collegare le unità dischi, aggiungeva dei comandi per accedere alle stesse.
Era possibile espandere l'MSX BASIC anche via software: un'estensione alle versioni 1.0/1.1 era "Screen IV", una modifica che aggiungeva la modalità mista grafica/testuale Screen 4 (da cui il nome) con 64×24 caratteri e la risoluzione Screen 2 per la grafica (256×192 pixel, 16 colori).
Quello che segue è un esempio di codice scritto in MSX BASIC:[2]
10 SCREEN 2
20 C=INT(15*RND(1))
30 I=INT(92*RND(1))
40 X2=255-I
50 Y2=191-I
60 FOR X=I TO X2 STEP 4
70 PSET (X,I),C
80 PSET (X,Y2),C
90 IF X2-X<=64 THEN 120
100 PSET (I,X),C
110 PSET (X2,X),C
120 NEXT X
130 GOTO 20
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.