# Standard Kansas City

Lo standard Kansas City o Kansas City Standard (KCS), o Byte standard, è un formato di registrazione di dati digitali per registratori di audiocassette.
La rivista Byte decise di sponsorizzare un simposio nel novembre del 1975 in Kansas City, per sviluppare uno standard per la memorizzazione di dati digitali da microcomputer su dispositivi economici di qualità molto diffusi quali le audiocassette, in un momento in cui le unità di floppy disk superavano i 1000 dollari di prezzo. Nonostante questo standard esistesse sin dagli albori della rivoluzione dei microcomputer, sono stati molto pochi i sistemi ad impiegarlo effettivamente come il loro standard.

## Primi usi delle cassette

I primi microcomputer usavano generalmente i nastri di carta perforata per la memorizzazione dei programmi, una scelta costosa. Jerry Ogdin, un consulente di computer, ebbe l'idea di usare i toni sonori su una cassetta audio per sostituire i nastri di carta. Portò l'idea a Les Solomon, editore della rivista Popular Electronics, il quale era similmente frustrato dall'uso dei nastri perforati. Nel settembre del 1975 i due scrissero un articolo sullo HITS (acronimo di Hobbysts' Interchange Tape System), che usava due toni per rappresentare 1 e 0. Subito dopo un certo numero di costruttori cominciò ad usare approcci simili, benché ognuno di questi sistemi risultasse incompatibile con gli altri.

## Definizione dello standard

Wayne Green, che aveva appena fondato il giornale Byte, voleva che tutti i produttori si riunissero per discutere della definizione di uno standard. Il luogo scelto fu Kansas City, nel Missouri e al raduno di due giornate parteciparono 18 persone che finalmente si accordarono su un sistema basato sul progetto di Don Lancaster, pubblicato sul primo numero della rivista Byte. Dopo il simposio, Lee Felsenstein (Processor Technology) e Harold Mauch (Percom) scrissero il testo dello standard.
Un'interfaccia per cassette è simile a un modem collegato a una porta seriale. Gli 1 e 0 dalla porta seriale vengono convertiti in toni udibili usando la tecnica dello audio frequency-shift keying (AFSK). Un bit '0' è rappresentato da quattro cicli di onda sinusoidale da 1200 Hz, e un bit '1' come otto cicli da 2400 Hz. Questo consente un trasferimento dati a 300 baud. Ogni frame inizia con un bit di start (uno '0') seguito da otto bit di dati (bit meno significativo per primo) seguiti da due bit di stop ('1'). Così ogni frame è lungo 11 bit, per una velocità di 27$^3$⁄$_{11}$ bytes al secondo.
Il numero di febbraio 1976 della rivista Byte conteneva una relazione sul simposio e il numero di marzo illustrava due esempi di hardware creati da Don Lancaster e Harold Mauch. La velocità di 300 baud risultava affidabile ma lenta (il tipico programma BASIC da 8 kilobyte necessitava di cinque minuti di registrazione). La maggior parte dei circuiti nei registratori di audio cassette poteva sopportare velocità maggiori.
Secondo Solomon, gli sforzi non portarono al successo, "Purtroppo, non durò molto; prima della fine del mese ognuno era ritornato al proprio standard e la confusione sulle registrazioni fu peggiore." "Unfortunately, it didn't last long; before the month ended, everyone went back to his own tape standard and the recording confusion got worse."

### I partecipanti al simposio di Kansas City

* Ray Borrill, Bloomington IN
* Hal Chamberlin, The Computer Hobbyist, Raleigh NC
* Richard Smith, The Computer Hobbyist, Raleigh NC
* Tom Durston, MITS, Albuquerque NM
* Bill Gates, MITS, Albuquerque NM
* Ed Roberts, MITS, Albuquerque NM
* Bob Zaller, MITS, Albuquerque NM
* Lee Felsenstein, LGC Engineering / Processor Technology, Berkeley CA
* Les Solomon, Rivista Popular Electronics, New York NY
* Bob Marsh, Processor Technology, Berkeley CA
* Joe Frappier, Mikra-D, Bellingham MA
* Gary Kay, Southwest Technical Products Corp, San Antonio TX
* Harold A Mauch, Pronetics/Percom Data, Garland TX
* Bob Nelson, PCM, San Ramon CA
* George Perrine, HAL Communications Corp, Urbana IL
* Paul Tucker, HAL Communications Corp, Urbana IL
* Michael Stolowitz, Godbout Electronics, Oakland Airport CA
* Mike Wise, Sphere, Bountiful UT
Alla Processor Technology svilupparono il popolare CUTS (Computer Users' Tape Standard) che poteva lavorare sia a 300 che a 1200 baud. Produssero la scheda d'interfaccia CUTS Tape I/O dotata di bus S-100 in grado di aggiungere sia lo standard CUTS che lo standard Kansas City ad un qualsiasi sistema dotato di S-100. La Processor Technology vendeva anche molti programmi software su cassetta. Su un lato in formato CUTS e sull'altro lato in formato Kansas City standard.

## Il Floppy ROM

In agosto del 1976 al Personal Computing show tenutosi in Atlantic City, Bob Marsh della Processor Technology parlò con Bob Jones, l'editore di Interface Age, a proposito di stampare software su dischi di vinile. Processor Technology fornì un programma per processore 8080 da registrare. Il test non funzionò e non riuscirono a dedicare altro tempo all'impresa.
Daniel Meyer e Gary Kay della Southwest Technical Products si misero d'accordo con Robert Uiterwyk perché fornisse il suo programma interprete BASIC da 4K per il microprocessore 6800. L'idea era registrare il programma su nastro audio nello standard "Kansas City" per poi fare un master record da quel nastro. Allora la Eva-Tone produceva Soundsheets su sottili fogli di vinile che potevano contenere una canzone sola. Questi sottili dischi erano economici e potevano essere abbinati ad una rivista.
Bill Turner e Bill Blomgren della MicroComputerSystems Inc. lavorarono assieme alla EVA-TONE e misero a punto un processo che funzionò bene. Il passaggio intermedio, ovvero la registrazione su nastro, aveva delle cadute di segnale (signal dropout) fu così deciso di collegare un'interfaccia cassette SWTPC AC-30 direttamente all'apparecchio per l'incisione del master disc.
Il numero di maggio del 1977 di Interface Age conteneva il primo "Floppy ROM", un disco a 33 $^1$⁄$_3$ giri con circa 6 minuti di audio registrato nel formato "Kansas City".
In settembre 1978 il Floppy ROM numero 5 conteneva sul lato 1 Apple Basic "The automated dress pattern" e sul lato 2 IAPS format "A program for writing letters".

## Lo standard originale a 300 baud

Lo standard originale registrava i dati come "segni" (uno) e "spazi" (zero). Un bit "segno" consisteva in otto cicli alla frequenza di 2400 Hz, mentre un bit "spazio" consisteva in quattro cicli alla frequenza di 1200 Hz. Una parola o word, solitamente lunga un byte (8 bits), veniva registrata in ordine little endian, ovvero il bit meno significativo per primo. Le parole da 7-bit erano seguite da un bit di parità.

## La variante a 1200 baud

Acorn Computers Ltd implementò una variante a 1200 baud dello CUTS nei loro microcomputer BBC Micro e Acorn Electron, la quale ridusse un bit '0' ad un ciclo di onda sinusoidale da 1200 Hz e un bit '1' a due cicli di un'onda a 2400 Hz. La codifica standard prevedeva un bit '0'di start e un bit '1' di stop a racchiudere un blocco d'informazione di 8 bit, generando quindi un data rate effettivo di 960 bit per secondo.
Inoltre, queste macchine registravano dati in blocchi da 256 byte, intercalati da "vuoti" contenenti il tono della portante, ciascun blocco era contraddistinto da un numero progressivo, rendendo possibile riposizionare il nastro e riprendere al blocco giusto quando si verificava un errore di lettura.

## Computer che utilizzarono lo standard Kansas City
### Primi microcomputer (diversi adoperavano il bus S-100)

* Compukit UK101
* Exidy Sorcerer Bus di espansione opzionale S-100, modalità standard a 300 bit/s ed una variante a 1200 baud come default.
* Lucas Nascom 1, 2 (che supportava anche una variante a 1200 bit/s, vedi sotto)
* MITS Altair 8800
* Motorola Scheda MEK D1 6800
* Ohio Scientific C1P/Superboard II
* Processor Tech SOL-20 Terminal Computer
* Processor Tech Scheda d'interfaccia I/O per nastri CUTS bus S-100
* SWTPC's Computer basati su 6800
* Tangerine Microtan 65 (300 baud CUTS - faster 2400 non-CUTS format also available)
* Eltec (German Company) Eurocom 1

### Home/personal computer

* Acorn Computers Ltd
** Acorn Atom (300 baud standard / 1200 baud con il programma "fast cos" nell'utility pack 1)
* BGR Computers
** Excalibur 64
** BBC Micro (varianti a 300 e 1200 baud)
** Acorn Electron (solo 1200 baud)
* Dick Smith Super-80 (solo 300 baud)
* Elektor Magazine National SC/MP Project
* Heathkit
** Heathkit H8 (300 e 1200 baud)
** Heathkit H89 - venduto anche come Zenith Z-89 (300 e 1200 baud)
* MicroBee Systems
** MicroBee (300 e 1200 baud)
* MSX (1200 baud, con due bit di stop)
* Sega SC-3000 Una variante leggermente diversa a 600 baud
* Z80NE di Nuova Elettronica(300, 600 o 1200 baud)

### Calcolatrici programmabili

* Casio
** FX-502P series con adattatore FA-1 (300 baud)
** FX-602P series e FX-702P con interfaccia FA-2 (300 baud)
** Casio FX-603P and Casio FX-850P e adattatore FA-6 (300 and 1200 baud)
** PB-700 (con adattatore FA-11)

### Altri dispositivi

* Tastiera elettronica Casio PT-50 con modulo d'interfaccia per nastro TA-1.
* TapeDump, soluzione realizzata da Chris Covell per estrazione dati da cartucce NES/Famicom