Amstrad CPC 464 | caratteristiche tecniche

Caratteristiche tecniche

Qui di seguito sono elencate le principali caratteristiche hardware del computer:[1][2]

Vista posteriore del computer. Da sinistra a destra: l'uscita video, l'ingresso dell'alimentazione, la porta per l'unità a dischi, quella per la stampante, la porta joystick e l'ingresso/uscita audio
Dettaglio sul tastierino numerico e sull'unità a cassette integrata

Rispetto al prototipo originale, basato sul MOS 6502, il computer finale adottava la CPU Z80A di Zilog con frequenza operativa di 4 MHz, grazie al quale il computer dotato di unità a dischi poteva caricare il CP/M, all'epoca uno dei più diffusi DOS. Siccome lo Z80 poteva indirizzare un massimo di 64 kB di memoria e dato che il Locomotive BASIC ed il Firmware occupavano 32 kB di ROM, fu deciso di suddividere le routine del sistema su 2 chip da 16 kB l'uno e fu poi studiato un meccanismo di bank switching per alternare il banco di ROM attivo: la suddivisione fu fatta in modo che il chip attivo contenesse il codice di tutte le routine in quel momento in esecuzione. Il chip da utilizzare veniva poi selezionato dal sistema e reso attivo nello spazio di indirizzamento della CPU. Il chip ROM attivo occupava 16 kB e altra memoria era occupata dal sistema per variabili ed altro: dei 64 kB di memoria iniziali all'utente ne restavano liberi 42 kB. Di questi, 16 kB erano occupati dalla memoria video, la cui gestione era suddivisa fra l'ULA e l'Hitachi HD6845 CRT: la prima si occupava di generare la parte grafica mentre il secondo si occupava della generazione del segnale video da inviare al monitor. Le modalità grafiche permesse dal sistema erano tre. La prima permetteva la rappresentazione di una schermata testuale di 20×25 caratteri oppure di una schermata grafica di 160×200 pixel, entrambe con 16 colori disponibili da una tavolozza di 27. La seconda permetteva 40×25 caratteri oppure 320×200 pixel, con 4 colori. L'ultima, 80×25 caratteri oppure 640×200 pixel, con 2 colori. Il segnale video era inviato al monitor incluso nella confezione che era, a seconda del modello acquistato, monocromatico verde oppure a colori. Il collegamento con il computer avveniva con un doppio cavo: uno serviva al segnale video dal computer al monitor, sul secondo cavo viaggiava invece l'alimentazione elettrica dal monitor al computer. L'ULA si occupava anche di gestire gli interrupt, di alternare il banco ROM attivo e di generare i segnali di temporizzazione, compresi quelli per l'accesso alternato della CPU e del chip video alla RAM del sistema.[2]

L'unità a cassette integrata era stata scelta perché più economica rispetto alle unità a floppy. Questa fu presentata insieme al computer ed era di un formato da 3". L'unità veniva fornita con un'interfaccia hardware per il collegamento al computer che conteneva anche un rudimentale DOS, denominato AmsDOS (da Amstrad DOS) e scritto da Locomotive Software, che veniva caricato in memoria andando ad aggiungere al firmware originale i comandi per la gestione dei dischi.[4] L'interfaccia conteneva anche il codice di avvio necessario a caricare il CP/M, fornito alla versione 2.2, grazie al quale sul computer poteva essere eseguito tutto il software da ufficio scritto per questo sistema operativo. Non va dimenticato, infatti, che nei piani di Sugar il CPC 464 non era visto solo come una macchina da gioco ma anche come un sistema idoneo all'uso in ambito professionale. Il computer era dotato del chip audio General Instrument AY-3-8912, usato su diversi computer e console ad 8 e 16 bit. Nonostante fosse inferiore al SID del Commodore 64, era comunque capace di generare 3 voci ad 8 ottave. Sui primi modelli l'audio era riprodotto da un piccolo altoparlante integrato, eliminato nei modelli successivi; un'uscita audio permetteva il collegamento ad un sistema di riproduzione esterno.[2]

BASIC

Magnifying glass icon mgx2.svgLo stesso argomento in dettaglio: Locomotive BASIC.

Clayton e Hall di Locomotive Software lavorarono al loro Locomotive BASIC per adattarlo al nuovo sistema aggiungendo tutte le parole chiave necessarie a gestire la grafica ed il sonoro del computer e strutturarono il linguaggio in modo da astrarlo dall'hardware della macchina mediante un livello software intermedio, il firmware, realizzato in modo modulare: al BASIC sarebbe perciò spettato solo il compito di interpretare i comandi dell'utente e passarli al firmware, a cui sarebbe spettato il compito di interagire direttamente con l'hardware della macchina per la loro esecuzione. Il firmware fu diviso in 5 moduli: lo schermo, la gestione delle cassette, le routine grafiche di disegno, l'aritmetica in virgola mobile ed il sistema operativo real-time. La scelta di suddividere il firmware in moduli fu fatta per tenere il codice ordinato, con le varie funzioni separate le une dalle altre.[2]

Le tante parole chiave furono introdotte affinché i programmatori non dovessero fare ricorso all'uso di numerose POKE per gestire le caratteristiche del computer, come avveniva ad esempio sul Commodore 64 dove il suo BASIC non offriva istruzioni per un uso diretto delle sue capacità grafiche e sonore. Il sistema fu inoltre pensato affinché fosse in grado di gestire 8 finestre testuali separate, ognuna gestita in modo indipendente così che l'utente potesse scegliere su quale scrivere e quale visualizzare.[2]

Il BASIC era dotato di un sistema di espansione dei comandi detto "RSX" (da "Resident System estensions") grazie a cui si poteva integrare nel linguaggio il supporto a nuove periferiche quali i floppy, le penne ottiche ed altro. Le estensioni RSX erano riconoscibili dal fatto che i comandi iniziavano con il carattere "|", ad esempio "|DISK" passa al disco come unità di massa predefinita. Le estensioni RSX potevano essere inserite da una ROM (ad esempio dalla ROM di una periferica) oppure via software.[5]

Firmware

Il kernel del computer, il nocciolo del sistema operativo, era il Firmware, un insieme di routine in linguaggio macchina che accedevano direttamente all'hardware del sistema. Per facilitare i programmatori gli ingegneri di Locomotive Software decisero per l'adozione di una tabella di salti detta "jumpblock": questa tabella era un elenco di indirizzi posizionati su tutti i modelli dei computer della classe CPC allo stesso identico indirizzo. Un programmatore che voleva chiamare una determinata funzione del firmware poteva accederci tramite il suo punto d'ingresso della jumpblock: facendo così, il suo programma avrebbe funzionato su qualunque computer dato che se anche la funzione fosse stata ricollocata ad un altro indirizzo della ROM dai progettisti di Locomotive Software, anche l'indirizzo nella jumpblock sarebbe stato modificato. Questo sistema assicurava perciò la piena portabilità del codice non solo attraverso eventuali aggiornamenti del sistema ma anche tra i diversi modelli. Per facilitare l'utilizzo delle routine seguendo questo sistema Amstrad rilasciò una completa documentazione delle funzionalità del Firmware del computer denominata "Firmware Guide", nota anche come "Soft 968" dal suo numero nel catalogo Amstrad.[6]

AMSDOS

L'unità a dischi di Amstrad era dotata di un'interfaccia hardware contenente anche il software necessario alla gestione dell'acceso ai floppy. Queste routine erano caricate come estensioni RSX del linguaggio ed occupavano poco meno di 8 kB di memoria ed offrivano 14 nuovi comandi per gestire i floppy. Questi erano da 3" di diametro ed erano formattati con 40 tracce da 9 settori l'una per lato, per un totale di 178 kB. Il file system non usava directory.[7]

En otros idiomas
čeština: Amstrad CPC 464
español: Amstrad CPC 464
français: Amstrad CPC 464
српски / srpski: Amstrad CPC 464