• Non ci sono risultati.

IL SISTEMA OPERATIVO

Nel documento Alessandro Grussu. Seconda edizione (pagine 31-37)

SISTEMI CON MARCHIO SINCLAIR ZX SPECTRUM NEXT

IL SISTEMA OPERATIVO

Scritto da Garry Lancaster, il NextZXOS è il sistema operativo del Next ed è una evoluzione del +3e/IDEDOS, pure opera di Lancaster, a sua volta derivato dal +3DOS dello Spectrum +3.

Le caratteristiche principali del NextZXOS sono:

 supporto FAT16 e FAT32 con mantenimento della compatibilità con IDEDOS/+3DOS;

 supporto per i nomi di file lunghi;

 struttura a sottocartelle/sottodirectory;

 gestione diretta della memoria;

 file system virtuale per le immagini nastro e disco;

 gestore file a menù con associazioni;

 emulazione ESXDOS per tutte le macchine compati-bili con lo Spectrum e supporto ai comandi “dot”;

 esecuzione automatica di programmi all’avvio;

 interfaccia a riga di comando;

supporto per il flusso dati (streaming);

 supporto per la memoria virtuale (partizioni di scambio);

 gestione dell’orologio interno;

 gestione dei dischi anche con le modalità del 48K;

 compatibilità con tutte le macchine della serie ZX;

 supporto per vari formati di file istantanea;

 capacità multilingue e multi-font;

 creazione di finestre di testo;

 esecuzione più rapida rispetto alle versioni precedenti;

 compatibilità con il CP/M.

Il linguaggio di programmazione attraverso il quale l’utente può interagire con il NextZXOS è il NextBASIC, basato sul BASIC Sinclair con l’aggiunta di svariate nuove funzionalità, alcune specifiche del Next, altre mutuate da altri “dialetti” del BASIC. Tra le prime citiamo la gestione del display tramite i comandi SPRITE, LAYER e PALETTE e quella dei banchi di memoria con BANK. Tra le seconde, i comandi ON ERROR per indirizzare il flusso del programma in caso di errore;

DEFPROC, PROC ed ENDPROC per la creazione di proce-dure in grado di accettare fino a 8 parametri; REPEAT, WHILE e REPEAT UNTIL per costruire cicli più complessi di quelli basati sui canonici FOR e NEXT.

LA MEMORIA

La memoria del Next segue la tradizionale distinzione tra ROM e RAM, laddove la ROM “vera e propria” non si identifica col sistema operativo del computer come nello Spectrum, ma con-tiene la configurazione della scheda FPGA. La ROM della per-sonalità selezionata dall’utente viene richiamata da un apposito

Quest’opera è diffusa sotto licenza CC BY-NC 4.0 Internazionale.

file di configurazione INI presente sulla scheda SD che ospita il sistema operativo del Next e le ROM delle altre personalità, poi copiata in una porzione speciale della RAM che non può essere modificata dall’utente, comportandosi perciò come una ROM.

Le porzioni della RAM prendono anche nel Next il nome di

“banchi”. Le configurazioni dei banchi cambiano a seconda della personalità attiva. Ve ne sono due: standard e MMU (Memory Management Unit, “unità di gestione della memo-ria”); in entrambi i casi, la CPU può indirizzare un totale di 65.536 locazioni di memoria alla volta, come al solito.

Configurazione di memoria standard

La configurazione standard ricalca quella degli Spectrum stori-ci: è divisa in quattro comparti da 16 KB ciascuno, dei quali il primo ospita la ROM. Come nel +3, ci sono quattro banchi disponibili per la ROM, e 48, oppure ben 112 nel Next espanso a 2.048 KB, per la RAM. In totale si tratta di 832 KB, il resto serve per altri usi, come la memoria dell’interfaccia DivMMC.

La RAM disponibile totale è quindi di 768 KB, che diventano 1.792 nel Next espanso. I banchi vengono gestiti attraverso un apposito comando BASIC, BANK. In generale, i banchi dal 9 in su sono sempre disponibili, e vi si accede tramite il comando BANK, mentre per gli altri valgono le seguenti condizioni:

 il banco 0 si può usare dopo un CLEAR che porti la

 il banco 5 va usato con attenzione, in quanto include l’area dello schermo e le variabili di sistema del 48K.

I banchi 9, 10 e 11, per impostazione predefinita, sono utiliz-zati dallo strato 2 del display, ma si possono impiegare per altri scopi se non si usa lo strato 2 o se sono stati riassegnati con un comando LAYER BANK. Pertanto all’avvio i quattro comparti da 16 KB contengono nell’ordine la ROM e i banchi 2, 5 e 0.

Banc o

Descrizione Intervallo

0 Memoria standard Spectrum 48K 49152-65535 1 Disco RAM

2 Memoria standard Spectrum 48K 32768-49151 3 Disco RAM

4 Disco RAM

5 Memoria standard Spectrum 48K 16384-32767 6 Disco RAM

7 Spazio di lavoro e strutture dati NextZXOS 8 Dati dello schermo e dati vari di NextZXOS 9-111 Disponibili per l’utente

Allocazione predefinita dei banchi di memoria del Next

La configurazione MMU è più flessibile e permette di suddi-videre la memoria accessibile alla CPU in 8 comparti da 8 KB:

gli MMU, appunto. Ognuno di essi può contenere un banco RAM da 8 KB, pertanto in questa configurazione la RAM com-prende 96 banchi, o 224 con un Next espanso.

Quest’opera è diffusa sotto licenza CC BY-NC 4.0 Internazionale.

Configurazione di memoria MMU

Questo però non significa che si possa inserire in memoria ciò che si vuole senza un criterio: anche il Next, come gli altri Spectrum, ha una mappa della memoria, che nei suoi aspetti fondamentali riprende quella dei modelli precedenti.

Mappa della memoria del Next I MENÙ

Il sistema a menù del NextZXOS è basato su quello visto dal 128 in poi e comprende numerose voci. Quello visualizzato all’avvio include: un browser per sfogliare i file memorizzati sulla scheda SD; il prompt dei comandi dedicato soprattutto

alle operazioni con le periferiche disco (reali e virtuali); l’editor NextBASIC per la programmazione, con supporto per 64 e 85 caratteri per colonna oltre ai canonici 32, e la possibilità di riordinare i numeri di linea del programma in corso di scrittura;

la calcolatrice; il caricamento da nastro. Altri menù permettono di utilizzare la funzionalità CP/M, caricare dati memorizzati su cartucce del tipo Sinclair Interface II o Dandanator in modo sia 48K che 128K e impostare il prompt dei comandi classico del 48K e Plus. Inoltre è sempre possibile cambiare la frequenza del processore tra 3,5, 7, 14 e 28 MHz.

Il menù iniziale del NextZXOS

Quest’opera è diffusa sotto licenza CC BY-NC 4.0 Internazionale.

Nel documento Alessandro Grussu. Seconda edizione (pagine 31-37)