SAM Coupé
# SAM Coupé

Il SAM Coupé è un home computer a 8 bit commercializzato in Gran Bretagna dalla fine del 1989 al 1992. Inizialmente fu prodotto da Miles Gordon Technology (MGT), l'azienda che aveva realizzato per lo ZX Spectrum le schede di espansione DISCiPLE e +D. Quando nel 1990 la società fallì, i suoi fondatori crearono una nuova società, la SAM Computer Limited (SAMCo), e continuarono la vendita del computer fino al 1992, quando anche SAMCo fallì.

Il SAM Coupé era pensato come un anello di congiunzione tra i computer a 8 bit e quelli a 16 bit, ma ebbe scarso successo. Una sua caratteristica, sulla quale la pubblicità puntava molto, è la retrocompatibilità con il software per ZX Spectrum. Le macchine a 8 bit stavano ormai tramontando, e a chi voleva passare a computer superiori si offriva la possibilità di mantenere anche il software accumulato per il vecchio Spectrum. Il SAM Coupé si guadagnò in tal modo il soprannome di "Super Spectrum", ma era ingiustamente riduttivo. Le sue capacità sono in realtà più vicine a quelle dell'Atari ST che a quelle dello Spectrum.

## Caratteristiche tecniche

Il computer era basato su una CPU Zilog Z80B operante a 6 MHz e conteneva un chip ausiliario ASIC, comparabile con l'ULA dello Spectrum, che serviva per alleggerire la CPU dei compiti di gestione della sincronizzazione dei dati dello schermo.

Il modello base montava 256 kB di memoria, che poteva essere espansa internamente a 512 kB: usando una scheda di espansione esterna, si potevano aggiungere altri 4 MB di RAM (a pacchetti di 1 MB l'uno), per un totale massimo di 4,5 MB. A causa delle limitazioni dello Z80, che poteva indirizzare solo 64 kB di memoria, la RAM del computer era suddivisa in blocchi da 16 kB l'uno: gli indirizzi dei 4 blocchi visibili alla CPU erano impostati mediante l'utilizzo delle sue porte di I/O e la tecnica del bank switching.

La memoria di massa principale erano le cassette a nastro magnetico: opzionalmente si potevano installare 1 o 2 unità a dischi per floppy da 3½".

L'audio era gestito dal chip Philips SAA 1099, che forniva 6 canali stereo ad 8 ottave.

Il SAM Coupé era capace di 4 modalità grafiche:

* Modo 4 — 256×192 pixel, framebuffer lineare, profondità colore 4 bit (16 colori) = 24 kB
* Modo 3 — 512×192 pixel, framebuffer lineare, profondità colore 2 bit (4 colori) = 24 kB
* Modo 2 — 256×192 pixel, 32x192 celle 8x1 pixel, profondità colore 1 bit (2 colori) con attributi separati per ogni cella = 12 kB
* Modo 1 — 256×192 pixel, 32×24 celle 8x8 pixel, profondità colore 1 bit (2 colori) con attributi separati per ogni cella (modalità compatibile con lo ZX Spectrum) = 6,75 kB

La tavolozza era composta da 128 colori, indirizzati tramite una tabella che accettava in input una stringa di 7 bit: 2 per il rosso, 2 per il verde, 2 per il blu ed 1 bit extra che selezionava una tonalità più intensa di tutti e tre i componenti. Il computer era dotato di un connettore SCART non standard utilizzando il quale la tavolozza si riduceva a 16 colori.

Quando il SAM Coupé era in modo 1 venivano introdotti dei tempi di attesa aggiuntivi per rallentare la velocità della CPU in modo da ottenere una velocità di esecuzione del codice e dei segnali di sincronizzazione del video quasi identici a quelli dello ZX Spectrum.

Il computer conteneva un encoder che generava il segnale video per il modulatore RF miscelando i dati RGB del Motorola MC1377P con i segnali di sincronizzazione dell'ASIC.

I 32 kB di ROM contenevano il codice necessario al boot del computer, il software per accedere ai dischi ed un interprete BASIC, il SAM BASIC, derivato dal Beta BASIC disponibile per lo ZX Spectrum. La ROM non includeva nessun sistema operativo: questo doveva essere caricato usando i comandi BOOT oppure BOOT 1 oppure ancora premendo il tasto F9. Il sistema fornito era inizialmente il SAMDOS, di cui in seguito ne fu offerta una versione migliorata denominata MasterDOS: quest'ultima, rispetto alla prima, aveva tempi minori di accesso ai dischi, poteva gestire più file, supportava il Real-time clock ed aveva altre migliorie.

Il BASIC era molto avanzato ed includeva i comandi per gestire gli sprite e per disegnare figure in grafica vettoriale quali linee e cerchi. Il sistema di coordinate dello schermo era variabile e poteva essere scalato e centrato arbitrariamente. Offriva anche un sistema di "registrazione" delle sequenze di comandi grafici che potevano essere ripetute in seguito per evitare la lentezza dell'interprete BASIC, un modo che ricordava molto le display list dell'OpenGL.

### Problemi con la memoria video

La RAM interna era condivisa fra la circuiteria video e la CPU, con quest'ultima che doveva attendere che l'ASIC avesse terminato il suo accesso, condizione detta memory contention delay: a causa di ciò il processore del SAM Coupé risultava essere solo del 14% più veloce rispetto alla CPU dello ZX Spectrum dato che per gestire le modalità grafiche ad alta risoluzione doveva essere svolto molto più lavoro. Ad esempio, lo schermo in modalità 3 o 4 utilizzava circa 4 volte la RAM della modalità 1 (quella identica allo ZX Spectrum) per cui era necessario svolgere nello stesso tempo 4 volte i calcoli richiesti dallo ZX Spectrum per gestire lo schermo.

A parziale compensazione c'era una gestione dei pixel colorati migliorata rispetto a quella dello ZX Spectrum: le operazioni software su grafica a bassa risoluzione erano più semplici delle equivalenti dello Spectrum e, di solito, anche più veloci.

L'attesa che la CPU doveva rispettare prima di accedere alla memoria si applicava a qualunque operazione condotta in RAM, non solo a quelle sulla memoria utilizzata per le informazioni relative allo schermo, come nel caso dello ZX Spectrum. Se il SAM Coupé avesse offerto la gestione degli sprite e dello scorrimento del video in hardware le prestazioni nei giochi sarebbero state senz'altro superiori ma, purtroppo, la mancanza di spazio sul wafer di silicio dell'ASIC non permise di integrare tali circuiterie.

Durante il tracciamento dell'area di 256×192 pixel dell'immagine dello schermo il processore poteva accedere alla memoria solo durante 1 dei suoi 8 cicli clock, o t-state; durante il disegno del bordo ciò era possibile solo 1 volta ogni 4 cicli clock, che si traduceva nel non poter eseguire molte delle istruzioni i cui timing erano multipli di 4. Nei modi grafici 3 e 4 lo schermo poteva essere disabilitato completamente, eliminando il problema delle attese forzate e potendo sfruttare tutti i 6 MHz di velocità della CPU. Il codice contenuto nella ROM era affetto da tale limite solo nel momento in cui doveva accedere all'area di memoria RAM.

### Unità dischi

Il SAM Coupé utilizzava delle unità dischi a 3,5" prodotte da Citizen che venivano alloggiate sotto la tastiera, con lo sportellino disponibile frontalmente. Come nel caso dei dischi rigidi IDE, questi dispositivi non contenevano solo le unità dischi ma anche i controller, un WD1772-02, con il vantaggio che il computer poteva utilizzare entrambi i lettori contemporaneamente.

A causa di un errore nel progetto del computer, se si riavviava la macchina lasciando un dischetto nell'unità questo poteva andare incontro a problemi di corruzione dei dati. Il problema poteva essere risolto mediante un intervento tecnico.

I dischi a doppia densità usavano un formato a 2 lati, 80 tracce per lato e 10 settori per traccia, con 512 byte per settore: il risultato era una capacità totale di 800 kB, con la directory che ne occupava circa 20 kB ed i restanti 780 a disposizione dell'utente. I file erano memorizzati con la stessa struttura impiegata dall'interfaccia +D di MGT, con l'aggiunta di codici usati per i tipi di file del SAM Coupé. Il firmware dei controller delle unità dischi era compatibile con i dischi del PC IBM ed i programmi erano perciò in grado di leggere i dischi formattati FAT.

### Porte di espansione

Il computer offriva diverse porte di espansione, tra cui:

* 2 alloggiamenti interni per altrettante unità a dischi;
* connettore SCART leggermente non standard con video composito, digitale e RGB lineare;
* connettore "Euroconnector" a 64 pin per collegare espansioni hardware;
* connettore per un mouse in formato proprietario (uscì più tardi un adattatore per i mouse con attacco tipo Atari ST);
* connettore per penna ottica/light gun a 5 pin DIN;
* porte IN/OUT MIDI (e THROUGH, tramite uno switch software).
* supporto per rete tramite la porta MIDI (fino a 16 macchine interconnesse);
* porta joystick a 9 pin tipo Atari (possibilità di collegare 2 joystick usando un apposito cavo sdoppiatore);
* jack 3,5 mm (mono) per collegare un registratore a cassette;
* uscita stereo tramite porta DIN a 5 pin.

Curiosamente il modulatore RF era integrato nell'unità di alimentazione del computer e collegato tramite un connettore alimentazione/TV: a causa di questa scelta il segnale soffriva di interferenze elettromagnetiche generate dal convertitore AC-DC. Per ovviare a questo problema gli utenti più esperti modificavano il computer togliendo il modulatore dall'interno e tenendolo come una unità separata.

A causa di un difetto di progettazione, quando 2 joystick erano collegati insieme (tramite l'apposito sdoppiatore), essi interferivano l'uno con l'altro.

Al connettore Euroconnector potevano essere collegati fino a 4 dispositivi differenti grazie all'uso del SAMBUS, una interfaccia da collegare all'Euroconnector che forniva 4 porte di espansione ed anche un orologio integrato. Se si collegavano dispositivi con un elevato consumo energetico, il SAMBUS richiedeva un alimentatore aggiuntivo.

### Compatibilità con lo ZX Spectrum

Per la retrocompatibilità con il software per ZX Spectrum si utilizza un programma emulatore che veniva fornito sia su disco sia su cassetta e che si può eseguire con 5 opzioni, corrispondenti a vari periodi di produzione del software. Il programma opera caricando in memoria una copia della ROM dello ZX Spectrum e poi passando alla modalità grafica 1, che riproduce la modalità dello schermo dello ZX Spectrum e la velocità del suo processore (non proprio uguale).

La compatibilità effettiva è solo parziale. Inizialmente la MGT dichiarò che il 90% delle cassette per ZX Spectrum avrebbe funzionato sul SAM Coupé, poi ridimensionò al 75%, ma dall'esperienza degli utenti una stima più realistica è il 50-60%.

La MGT non acquisì la licenza per utilizzare la ROM ufficiale dello Spectrum, invece l'emulatore incluso si serve di una ROM riscritta da capo e ridotta all'osso. Questo è il principale motivo delle incompatibilità. In seguito sono apparsi emulatori di pubblico dominio che usano la vera ROM dello Spectrum.

L'emulazione è limitata al modello 48K, mentre lo ZX Spectrum 128K non può essere emulato perché la mappa della sua memoria è incompatibile con quella del SAM Coupé. In aggiunta, anche il chip deputato alla generazione del suono è differente. L'unico modo era convertire i programmi modificando il codice originale.

Siccome il SAM Coupé non gira alla stessa identica velocità dello Spectrum neanche in modalità emulazione, molti sistemi anti-copia per i programmi su cassetta basati su caricatori modificati non funzionavano. Questo obbligò MGT a sviluppare una speciale interfaccia chiamata Messenger che può catturare la memoria di uno ZX Spectrum collegato ad essa e riversarne il contenuto su un disco del SAM Coupé, così da poter utilizzare il programma in un secondo momento. Il Messenger si collega al SAM Coupé tramite la porta rete e allo Spectrum tramite la porta di espansione: la presenza su numerosi SAM Coupé di pulsanti di break guasti (necessari per attivare il software del Messenger) costrinse MGT a offrire anche una scheda con pulsante di break da collegare al SAM Coupé tramite la porta di espansione.

### Kaleidoscope

Il Kaleidoscope (letteralmente Caleidoscopio), facente parte dell'Hardware Kit presentato da SAMCo poco prima della sua bancarotta, estende la tavolozza del SAM Coupé a 32.768 colori mantenendo la retrocompatibilità con le applicazioni già in circolazione. Nonostante il kit fosse già completo, pochi esemplari arrivarono sul mercato dato che il fallimento di SAMCo ne cessò la produzione.

## Storia

Nel corso della sua breve esistenza i diritti sul SAM Coupé sono stati detenuti da tre differenti società. Si stima che in totale siano state vendute circa 12.000 unità, tra SAM Coupé e SAM Élite.

### Miles Gordon Technology, plc.

Miles Gordon Technology Plc (MGT) è stata l'azienda che ha progettato il computer. Nata inizialmente come produttore di schede di espansione per lo ZX Spectrum, presentò il SAM Coupé quasi alla fine del 1989, saltando le vendite natalizie e ritrovandosi con diverse macchine invendute in magazzino. Ciò fu dovuto a un ritardo nella produzione del circuito ASIC da parte di un fornitore esterno; solo 200 unità vennero distribuite prima della fine dell'anno. Anche le unità disco aggiuntive soffrirono un ritardo di parecchie settimane, e quando uscirono avevano pure un baco nel DOS che non faceva eseguire automaticamente il bootstrap e dovette essere rapidamente corretto.

Le vendite non furono mai esaltanti perché il computer arrivò durante il periodo in cui si affermarono i computer a 16 bit quali l'Atari ST e il Commodore Amiga. La stampa inizialmente ebbe una buona impressione del SAM Coupé e del suo prezzo conveniente, di 170£ nel Regno Unito, ma in realtà per portarlo al livello di un Atari ST bisognava comprare anche l'espansione di memoria e l'unità dischi e il tutto finiva per costare 300£, praticamente come l'Atari ST e non molto meno del potente Amiga (400£). Inoltre anche i PC IBM compatibili iniziavano a diffondersi in ambito non professionale, togliendo ulteriori quote di mercato. A questo si devono poi sommare la scarsità di software disponibile per la macchina, dato che molti produttori non pubblicarono giochi o applicazioni per il SAM Coupé a causa della sua poca popolarità, e i problemi al BIOS della macchina, che costrinse MGT a spedire una nuova ROM ai circa 8.000 possessori dei computer già in circolazione per risolvere i problemi che affliggevano la macchina. Tutto ciò portò al fallimento di MGT, che chiuse nel giugno del 1990.

### SAM Computers Ltd.

Immediatamente dopo il fallimento di MGT i suoi fondatori, Alan Miles e Bruce Gordon, rilevarono gli assetti della società ed il 6 agosto 1990 fondarono una nuova compagnia chiamata SAM Computers Limited (SAMCo). Il prezzo del SAM Coupé con 1 unità dischi fu portato sotto le 200 sterline e contemporaneamente uscirono nuovi giochi e nuovo hardware. SAMCo fallì il 15 luglio 1992.

### West Coast Computers

Le proprietà di SAMCo furono acquistate da West Coast Computers nel novembre del 1992. Con le rimanenze di magazzino essa assemblò una macchina messa in commercio come SAM élite: essenzialmente era un Coupé offerto solo nella versione a 512 kB e con un connettore esterno per stampanti. L'unità dischi di Citizen, che era stata ritirata dal mercato europeo nel 1990, fu sostituita da una unità da 3,5" standard. La vendita del computer e lo sviluppo di nuove periferiche terminò alla fine del 1994. West Coast Computers continuò a produrre software fino al 1998 come Format Publications pubblicandolo sull'omonima rivista "Format". West Coast Computers è stata messa in liquidazione nel febbraio del 2005.

## SAM il robot

Ideato da Mel Croucher e disegnato da Robin Evans, SAM il robot era la mascotte che rappresentava il computer. Apparve nel manuale utente ed in altre pubblicazioni di MGT, e divenne poi un vero e proprio personaggio nel gioco SAM Strikes Out!.

## Software

Il SAM Coupé, povero di software commerciale, aveva però diverse pubblicazioni su disco dedicate, come le riviste FRED e SAMCo Newsdisk.

### Videogiochi

Molti grandi produttori britannici di videogiochi si dichiararono potenzialmente interessati a supportare il SAM Coupé se la macchina avesse venduto abbastanza. La U.S. Gold in particolare affermò che avrebbe sviluppato una conversione di Strider in tempi rapidissimi, praticamente mescolando l'esistente programma della versione ZX Spectrum con l'esistente grafica della versione Atari ST. Strider non arrivò mai, né alcun grande editore pubblicò mai nulla. Il primo gioco commerciale uscì solo nel giugno 1990, sei mesi dopo il lancio del computer, e fu Defenders of the Earth della Enigma Variations. Si conoscono 100-150 giochi, contando anche produzioni amatoriali e di retrogaming.

Secondo una selezione fatta dalla rivista Retro Gamer, i dieci più grandi giochi per SAM Coupé sono Prince of Persia, Lemmings, Manic Miner, Escape from the Planet of the Robot Monsters, Defender (versione non ufficiale uscita molto tardi, nel 1998), Legend of Eshan, T'n'T, Waterworks, Stratosphere, Invasion II (altro titolo tardo, del 2004). Prince of Persia in particolare fu il primo titolo di vero impatto, dello stesso livello qualitativo delle versioni a 16 bit, e quanto di più simile ci fu a una killer application per il SAM Coupé.

### Flash!

Flash!, un pacchetto grafico, era l'unica applicazione completa offerta in bundle con il SAM Coupé e, per questo, probabilmente il più noto programma per il computer. Scritto da Bo Jangeborg, autore dei programmi The Artist e The Artist II per gli ZX Spectrum, opera in tutte e quattro le modalità grafiche, converte i disegni da una modalità all'altra e ha anche alcune funzioni di base per l'animazione grafica. Il programma lavora solo su immagini a tutto schermo, ma il principale limite del programma era quello di non far vedere per intero l'immagine mentre l'utente ci lavorava sopra. Con l'acquisto del mouse veniva offerta una copia del software modificata per supportare tale dispositivo.

## Produttori software

Prima che la macchina fosse distribuita alcuni produttori software annunciarono la disponibilità di giochi e programmi per il SAM Coupé: tali annunci furono quasi tutti smentiti perché la scarsa diffusione del computer scoraggiò molte aziende nel cimentarsi con la pubblicazione di software.

In genere solo alcune compagnie si cimentarono nella produzione di software, spesso lavorando esclusivamente per questo computer.

### Enigma Variations

Uno dei primi produttori software a pubblicare titoli per il SAM Coupé fu Enigma Variations Ltd. Tra i giochi pubblicati sono da annoverare i porting di Defenders of the Earth, Escape from the Planet of the Robot Monsters, The Famous Five: Five on a Treasure Island (basato sulla serie La banda dei cinque), Klax, Pipe Mania e i titoli originali SAM SAM Strikes Out (con SAM il robot), Futureball e Sphera.

### Revelation

Revelation Software fu la divisione software di SAMCo. Fondata nel 1992 per sopperire alla mancanza di produttori software, ha pubblicato diversi titoli tra cui gli originali Astroball, Batz 'n' Balls, Legend of Eshan, Sophistry e Wop Gamma, e Hexagonia, ispirato da Atomix.

I porting includono Elite (nient'altro che la versione per lo ZX Spectrum 48K distribuita su dischetto), Prince of Persia, Manic Miner, Lemmings e Splat!.

Dopo il fallimento di SAMCo, Revelation visse ancora in una società congiunta fondata con West Coast Computers: i giochi erano pubblicati con l'etichetta Format Publications dalla rivista Format.

### FRED Publishing

Creatasi separandosi dall'omonima rivista, FRED Publishing è arrivata relativamente tardi sulla scena ma ha supportato la macchina molto più a lungo di qualunque altra software house. I suoi titoli più noti sono le conversioni di Lemmings e di Oh No! More Lemmings!, ma la società ha anche prodotto giochi originali quali Boing, The Bulgulators, Dyzonium, Football League Manager, Impatience/Triltex, Momentum, Parallax, Waterworks e Witching Hour.

### Phoenix Software Systems

Questa etichetta pubblicò sia titoli propri quali Dyadic sia di altri produttori, come il MasterBASIC e il MasterDOS. Lo stesso gruppo era impegnato nel progetto della rivista SAM Prime.

### Quazar

Questa società fu fondata solo nel 1995 e il suo primo prodotto fu una scheda audio, a cui affiancò anche una rivista con dischetto. Più tardi produsse anche alcuni videogiochi tra cui Stratosphere e la trilogia Money Bags. Al 2021 Quazar è ancora attiva: continua la produzione di software e hardware e pubblica regolarmente una rivista, SAM Revival.

## Emulazione

Il SimCoupe è un emulatore del SAM Coupé scritto e mantenuto da Simon Owen: è basato sul precedente progetto XCoupe di Allan Skillman ed è disponibile per numerose piattaforme, tra cui Microsoft Windows, macOS, Linux/Unix, AmigaOS 4, Pocket PC, QNX, GP2X e PlayStation Portable.

