[zxspectrum] Domanda tecnica sull'algoritmo di save/load

  • From: Paolo Ferraris <pieffe8@xxxxxxxxxxxxx>
  • To: zxspectrum@xxxxxxxxxxxxx
  • Date: Fri, 16 Jan 2004 14:02:07 -0600

Ciao a tutti,

e` da un po' di tempo che la domanda mi frullava in testa, ma visti i vari esperti qua, spero che qualcuno mi sappia rispondere.

La maniera in cui i dati sono salvati su nastro e` in fin dei conti molto semplice: gli zeri e gli 1 sono memorizzati con onde quadra intera di lunghezza diversa a seconda del dato mandato.

Mi domando pero` perche` non sia stata implementata, invece, una codifica ancora piu` semplice, credo simile a quella usata dalle seriali:
uno zero e` codificato da un segnale basso lungo T, uno zero e` codificato da un segnale alto anche esso lungo T. Per esempio, per codificare
10001010 basterebbe un segnale del tipo.


+--+        +--+  +--+
  |        |  |  |  |
  +--+--+--+  +--+  +--+

I vantaggi in termini di velocita` di trasferimento sono evidenti: usando le stesse frequenze massime riesci a salvare almeno il doppio dei dati.
Questa codifica pero` richiede l'uso di basse frequeze: in particolare una sequenza di 0 o 1 non ha armoniche ma solo banda base.
In qualunque caso ogni N bit (sulle seriali 8, ma lo puoi fare ogni 4 o due bit) ci devi mettere due bit di sincronia:


      +--+
...    |  | ...
   +--+  +

Cio` aggiunge armoniche se non ce ne sono e riduce la componente in banda base.

Per curiosita`, qualcuno ha idea se funzioni? Come viene filtrato il segnale registrato su cassetta?

Ciao
Paolo



Other related posts: