Modi di andare a capo

The movie "The Shining", directed by Stanley Kubrick, based on the novel by Stephen King. Seen here, Jack Nicholson as Jack Torrance at a typewriter. Initial theatrical release May 23, 1980. Screen capture. © 1980 Warner Bros. Credit: © 1980 Warner Bros. / Flickr / Courtesy Pikturz. Image intended only for use to help promote the film, in an editorial, non-commercial context.

di Francesco Sblendorio

Chi utilizza Windows (e chi ha a che fare con chi utilizza Windows) lo sa bene: in un file di testo le righe terminano con due caratteri: CR e LF (rispettivamente ASCII 13 e 10). Tutti gli altri sistemi operativi (per esempio Linux, Mac OS X e qualunque altro UNIX) ne utilizzano solo uno, LF (ASCII 10), quindi per passare da un sistema all’altro, quando l’editor non lo fa automaticamente, occorre una conversione per passare da un tipo di “ritorno a capo” all’altro (un esempio su tutti: il client classico ftp, che prevede i comandi “ASCII” e “BINARY“).

Chi è abbastanza grandicello ricorda che questa caratteristica era presente nel mondo Microsoft già con MS-DOS, ben prima l’avvento di Windows (che ha avuto come fattore di successo la compatibilità col passato, incorporando quindi anche questa caratteristica del formato dei file di testo).

Ma volendo ancora scavare nel passato… perché MS-DOS utilizzava due caratteri per il ritorno a capo anziché uno?

La risposta ce la dà la storia di MS-DOS: la prima versione fu scritta da Tim Paterson, dipendente di Seattle Computer Products. Allora il prodotto si chiamava 86-DOS e fu scritto per un computer con bus S-100 e con il nuovo fiammante processore a 16 bit Intel 8086, lo stesso processore usato dal nascente PC-IBM. La IBM aspettava l’uscita della versione 8086 del CP/M di Digital Research, ma (1) questa versione tardava a venire e (2) gli accordi commerciali saltarono. Paterson sviluppò 86-DOS come “clone di CP/M” e IBM cercava un sistema operativo CP/M-like, così Bill Gates con la sua neonata Microsoft fiutò l’affare, comprò 86-DOS rimarchiandolo come MS-DOS, assunse Paterson e il resto è storia nota.

CP/M utilizza come terminatore di fine riga dei file di testo i due famosi caratteri CR e LF (ASCII 13 e 10), 86-DOS si ispirò a CP/M anche in questo, che entrò a far parte quindi di MS-DOS e quindi con gli anni anche di Windows.

Ma… perché CP/M utilizza CR ed LFCP/M nasce in un’epoca dove non era scontato avere un terminale comprendente un video: agli albori era più frequente ed economica una telescrivente, praticamente una stampante, che al tempo era una specie di “macchina da scrivere automatica”.

Per andare a capo sulle macchine da scrivere non c’è un tasto RETURN: si tira la leva del ritorno carrello, e il rullo fa scendere il foglio di una riga; poi si spinge il carrello a inizio riga e la testina si posizione al primo carattere della nuova riga. CR (Carriage Return) fa tornare il “carrello” al primo carattere della riga, più LF (Line Feed) che fa avanzare di una riga.

Riferimenti esterni


Commenti

Post popolari in questo blog

Commodore 16: CPU 7501/8501 FPGA Replacement

Zork, CP/M, le adventure Infocom e la personalizzazione del terminale

Turbo Pascal porting: dal 7.0 (DOS) al 3.01 (CP/M) – parte 1

YAZE: un ottimo emulatore Z80 + CP/M

APPENDere in Turbo Pascal per CP/M

CP/M su Commodore 128: terminali e sequenze di escape

Un MIST-ico Amiga

CP/M su Commodore 128: non solo “DIR”

MIST how-to: Amiga con Kickstart 1.3 e supporto Hard Disk IDE