Apri il menu principale

Datassette

riproduttore di cassette prodotto dalla Commodore

Cenni storiciModifica

Venne utilizzato fin dalla commercializzazione dei primi home computer Commodore, poiché di dimensioni contenute e soprattutto poco costoso, fattori che lo resero un ottimo strumento per l'utilizzo di un sistema di memoria di massa.

In Europa ebbe una notevole diffusione e fu comunissimo, anche dopo l'introduzione del Commodore 1541 e dei floppy disk, e furono disponibili a un prezzo contenuto. Negli Stati Uniti d'America i floppy disk ebbero maggior diffusione e divennero presto lo standard di fatto, nonostante la periferica Commodore 1541 costasse cinque volte più del Datassette.

CaratteristicheModifica

Il dispositivo per immagazzinare dati utilizzava dei pattern di segnale ad onde quadrate, incluso un bit di parità. Esse erano create registrando alternativamente un segnale forte e un'assenza di segnale, di uguale periodo. Il Commodore utilizza tre modelli di onda quadra che si differenziano per la lunghezza del periodo: breve, medio e lungo.[1] I programmi erano scritti due volte su nastro per la correzione degli errori; utilizzava convertitori analogico-digitali e filtri audio integrati per convertire i dati digitali del computer in suoni analogici e viceversa. Il collegamento al computer avviene tramite un connettore proprietario, come il Commodore 1530 utilizzato nel Commodore 64, o un connettore mini-DIN, il Commodore 1531, utilizzato sul Commodore 16. Poiché è impossibile registrare segnali audio su tali dispostiviti, essi erano le uniche unità di memoria di massa utilizzabili con i computer Commodore. La quantità massima di dati immagaznabile per l'utilizzo era di circa 100 kilobytes per lato con una audiocassetta di 30 minuti; con l'utilizzo del turbo tape e di altri software appositi aumentò il limite a 1000 kb.

Elettronica e funzionamentoModifica

Il Datassette conteneva al suoi interno dei circuiti di lettura e scrittura completamente diversi da un registratore audio standard;[2] quando veniva premuto il tasto "play" un segnale di massa veniva inviato ad un ingresso specifico interfacciato col microprocessore. Questi a sua volta, tramite un interruttore a transistor sul computer, azionava il motore per il trascinamento del nastro magnetico. La cassetta era quindi pronta per l'operazione di lettura o scrittura. Aveva anche un contatore di giri posto a lato dello sportello della cassetta che era usato per arrivare più rapidamente al programma voluto agendo sui tasti di avanzamento e riavvolgimento veloce.

In fase di scrittura il computer inviava al Datasette un segnale ad onda quadra. Questo segnale digitale, veniva convertito dal pre-amplificatore e dall'amplificatore di potenza in un'uscita per il convertitore DC-DC. L'uscita di corrente veniva a sua volta applicata alla bobina della testina che, per induzione, provocava dei campi magnetici sul nastro che rappresentavano i dati.

In fase di lettura il circuito amplificatore prendeva il segnale dal nastro e lo riconvertiva in livelli logici. Questo si otteneva tramite un distorsore con funzione di amplificatore limitatore (che rimuoveva le variazioni di ampiezza) e da un circuito di commutazione che trasferiva i dati di uscita tra 0 e 5 volt. Tuttavia dopo un utilizzo intenso era necessario procedere alla regolazione della vite dell'azimut della testina che tendeva a disallinearsi rendendo estremamente difficoltoso il caricamento del software.

Struttura dei fileModifica

 
C64 Tape Dipole Patterns and Tape Storage Layout
Un esempio di 15 sec di suono di un programma per C64

I file che rappresentano programmi o dati vengono registrati sul nastro magnetico come sequenza di byte. Lo scambio di Byte fra il computer e il registratore avviene a blocchi, tramite un buffer di 192 byte. Ogni byte di dati è preceduto da un marcatore costituito da un'onda lunga seguita da un'onda media. "0" bit viene rappresentato da un'onda corta seguita da un'onda media, mentre al contrario, "1" bit viene rappresentato da un'onda media seguita da un'onda corta.

Quando si salva un programma sul nastro, il KERNAL crea nel buffer un primo blocco, detto header, contenente:

  • 2 byte per l'indirizzo della RAM;
  • 2 byte per l'indirizzo della RAM occupato dall'ultima riga di programma;
  • altri byte (max 128) relativi al nome del programma (max 16 caratteri);
  • altri byte di valore 32 fino al riempimento del buffer.

Terminata la trasmissione dell'header, il sistema operativo effettua quindi la trasmissione dell'intero programma, diviso a blocchi di 192 byte. A questo punto il Kernal ripete la trasmissione dell'header e di tutti i blocchi del programma. Questa seconda trasmissione di dati ridondanti ha lo scopo di verificare, al momento della lettura, la correttezza dei byte ed eventualmente correggere quelli affetti da errori.

Controllo erroriModifica

 
L'errore ?LOAD ERROR mostrato durante il caricamento di un programma

Il controllo degli errori era possibile dato che per ogni byte di programma il KERNAL trasmetteva in realtà un gruppo di 9 bit: 8 relativi al byte effettivamente da trasmettere e uno, di parità, calcolato in modo che la somma dei bit di valore 1 presenti nei 9 bit fosse un numero pari. Al momento della lettura del nastro, il KERNAL verificava che per ogni gruppo di 9 bit fosse soddisfatta la regola della parità; se ciò non accadeva esso memorizzava in una specifica locazione della RAM, il byte sospetto. Durante la lettura successiva dello stesso blocco di byte, il sistema verificava se i byte corrispondenti a quelli errati soddisfacevano la parità: se ciò accadeva il nuovo byte veniva sostituito a quello errato nella memoria di programma. Se anche qualcuno di questi byte non soddisfaceva la parità, il KERNAL cessava il caricamento ed inviava al video il messaggio ?LOAD ERROR

Il messaggio di errore si otteneva solo se ne venivano rilevati più di 30 al primo passaggio, o se quelli nel primo passaggio non potevano essere corretti dal secondo. Questo metodo di rilevazione degli errori era ritenuto abbastanza sicuro ed affidabile, a discapito però della velocità di caricamento. Per aumentare la velocità di caricamento del software contenuto nei nastri furono rilasciati programmi denominati turbo tape basati su sistemi di scrittura e lettura dei dati personalizzati.

Specifiche tecnicheModifica

Le specifiche tecniche del Datassette erano:[2]

  • Velocità: 300 Baud (150 Baud reali a causa dei file salvati due volte per il controllo degli errori)
  • Controlli: Tasti per la riproduzione "play", registrazione "record", avanzamento rapido "f.fwd", riavvolgimento "rewind", e di arresto "stop". Contatore per la posizione del nastro "counter".
  • Formato dati: Formato proprietario della Commodore che utilizzava la modulazione in larghezza di impulso e onde quadre.
  • Supporti: Utilizzava audiocassette standard. Era possibile immagazzinare 200 KB di dati (100 KB per un lato da 30 minuti)[3].

Modelli principaliModifica

Il primo modello fu il C2N, sviluppato come periferica per il Commodore PET, ma compatibile anche con il VIC-20 ed il C64/C128. Successivamente per questi computer fu sviluppato un modello con forme più arrotondate, denominato 1530, funzionalmente identico al C2N. Infine la Commodore rilasciò il modello 1531 per il C16/Plus/4, caratterizzato da un attacco differente rispetto a quello del 1530. I primi due modelli esterni erano venduti come periferiche per il Commodore PET, i restanti due per il VIC-20 e il C64. Erano tutti compatibili con le macchine ad 8 bit della Commodore, tranne che il 1531.

I modelli più recenti presentavano un forellino sopra la tastiera, per permettere l'accesso alla vite di regolazione della posizione dell'azimut, rendendo così possibile la regolazione tramite un piccolo giravite senza smontare il telaio della periferica. I più famosi furono:

  • Il Datassette incorporato nel PET 2001 originale: coperchio alloggiamento nero, cinque tasti bianchi, privo di contatore, privo di SAVE LED;
  • Modello C2N nero con forma originaria, coperchio cassetta nero, cinque tasti neri, privo di contatore, privo di LED "SAVE" (per indicare un'operazione di scrittura);
  • Modello C2N bianco con forma originaria, coperchio cassetta nero, cinque tasti neri, dotato di contatore, privo di LED "SAVE";
  • Modello 1530 con forma nuova, di colore bianco e coperchio cassetta in colore argento, sei tasti neri, dotato di contatore e di un LED "SAVE" rosso.
  • Modello 1531 di colore nero/antracite ed estremamente simile ai modelli 1530/C2N nell'aspetto, ma incompatibile sia nel connettore che nel formato di immagazzinamento. Aveva il con coperchio cassetta in colore argento, sei tasti grigio chiaro, dotato di contatore e di LED "SAVE" rosso. Con un adattatore poteva essere utilizzato con il C64/128.[4]

Galleria d'immaginiModifica

NoteModifica

  1. ^ (EN) How TurboTape Works (JPG), in Compute!, nº 57, Greensboro, Compute! Publications, febbraio 1985, p. 112, ISSN 0194-357X (WC · ACNP).
  2. ^ a b (EN) Datasette Service Manual page 01 - Specification, su devili.iki.fi.
  3. ^ (EN) General Commodore Information page, su digitalaudioconcepts.com.
  4. ^ Commodore 1531 Datasette, mos6502.org. URL consultato il 28/04/2018.

BibliografiaModifica

Voci correlateModifica

Altri progettiModifica

Collegamenti esterniModifica

  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica