カンサスシティスタンダード(Kansas City standard, KCS)またはバイトスタンダード(Byte standard)とは、コンパクトカセットテープに300 - 2400ビット/秒(300 - 2400ボー)のデータレートでデジタルデータを記録する(データレコーダ)フォーマットの一つである。1976年に初めて定義された。これは、1975年11月にミズーリ州カンザスシティで開催された『バイト』誌主催のシンポジウムで、安価な民生用カセットにマイクロコンピュータで作成したデジタルデータを保存するための標準規格を開発したことに端を発している。

基本規格のバリエーションの一つにCUTSがあり、これは300ビット/秒では同様だったが、オプションで1200ビット/秒のモードもあった。CUTSは、エイコーンやMSXなどで使用されていたデフォルトのエンコーディングだった。MSXにはさらに高い2400ビット/秒モードが追加されたが、それ以外は同様だった。CUTSの1200ビット/秒モードは、クロスプラットフォームのBASICODEで使用される標準でもあった。

KCSはマイクロコンピュータ革命の初期から存在していたが、別のエンコーディングの発生を防ぐことはできなかった。当時のほとんどのホームコンピュータは、KCSと互換性のない独自のフォーマットを使用していた。

## 歴史

### 前史

初期のマイクロコンピュータは、一般的にプログラムの保存に紙テープを使用していたが、紙テープは高価だった。
コンピュータコンサルタントのジェリー・オグディンは、紙テープの代わりにコンパクトカセットを使用し、音声で記録することを思いついた。彼はこのアイデアを『ポピュラーエレクトロニクス』誌の編集者であるレス・ソロモンに伝えた。彼も同様に紙テープに不満を持っていた。1975年9月、2人はHITS(Hobbyists' Interchange Tape System)についての記事を共著した。この方式は、1と0を表す2つのトーンを使用している。その後すぐに、多くのメーカーが同様のアプローチを使い始めたが、それぞれのシステムには互換性がなかった。

### カンサスシティ・シンポジウム

『バイト』誌を創刊したばかりのウェイン・グリーンは、全てのメーカーが一堂に会して、データレコーダの統一規格を作成することを望んでいた。彼は1975年11月7日から8日までの2日間、ミズーリ州カンザスシティで会議を開いた。この会議では、ドン・ランカスターが『TVタイプライター・クックブック』で提案した方式を採用することで合意した。会議の後、プロセッサ・テクノロジー社のリー・フェルゼンスタインとパーコム社のハロルド・マウフがこの規格を執筆し、『バイト』誌に掲載された。

KCSカセットインターフェイスは、シリアルポートに接続するモデムに似ている。シリアルポートからの"1"と"0"は、周波数偏移変調(FSK)によってオーディオトーンに変換される。"0"のビットは1200 Hzの正弦波の4周期、"1"のビットは2400 Hzの8周期で表される。これにより、データレートは300ボーとなる。各フレームは、1つの"0"のスタートビットから始まり、8つのデータビット(最下位ビットが最初)、2つの"1"のストップビットが続くので、各フレームは11ビットとなり、毎秒27+3⁄11バイトのデータレートとなる。

『バイト』1976年2月号にはシンポジウムのレポートが掲載され、3月号にはドン・ランカスターとハロルド・マウフによるハードウェアの例が掲載された。 300ボーというレートは、信頼性が高いが、遅く、典型的な8キロバイトのBASICプログラムをロードするのに5分もかかった。ほとんどのオーディオカセット回路は、より高速な速度に対応していた。

レス・ソロモンによれば、KCSの努力は実を結ばなかったという。「残念ながら、それは長くは続かなかった。その月が終わる前に、誰もが自分のテープ規格に戻ってしまい、録音方法の混乱が悪化してしまった。」

カンサスシティ・シンポジウムの参加者は以下の通りである。

- Ray Borrill, Bloomington, Indiana
- Hal Chamberlin, The Computer Hobbyist, Raleigh, North Carolina
- Richard Smith, The Computer Hobbyist, Raleigh, North Carolina
- Tom Durston, MITS, Albuquerque, New Mexico
- Bill Gates, MITS, Albuquerque, New Mexico
- Ed Roberts, MITS, Albuquerque, New Mexico
- Bob Zaller, MITS, Albuquerque, New Mexico
- Lee Felsenstein, LGC Engineering / Processor Technology, Berkeley, California
- Les Solomon, Popular Electronics Magazine, New York, New York
- Bob Marsh, Processor Technology, Berkeley, California
- Joe Frappier, Mikra-D, Bellingham, Massachusetts
- Gary Kay, Southwest Technical Products Corp, San Antonio, Texas
- Harold A Mauch, Pronetics/Percom Data, Garland Texas
- Bob Nelson, PCM, San Ramon, California
- George Perrine, HAL Communications Corp, Urbana, Illinois
- Paul Tucker, HAL Communications Corp, Urbana, Illinois
- Michael Stolowitz, Godbout Electronics, Oakland, California
- Mike Wise, Sphere, Bountiful, Utah

## CUTS

プロセッサ・テクノロジー社は、300ボーまたは1200ボーで動作するCUTS (Computer Users' Tape Standard)方式を開発し、普及した。プロセッサ・テクノロジー社は、S-100バスのCUTSテープI/Oインターフェースボードを提供している。

## ターベル

ターベル・カセット・インターフェイス(Tarbell Cassette Interface)は、初期のPC販売店であるスタン・ベイトによれば「S-100コンピュータの事実上の標準となった」カセット・インターフェイスである。ターベルのネイティブ方式(Tarbell standard)のほか、KCS方式にも対応していた。

## フロッピーROM

1976年8月にニュージャージー州アトランティックシティで開催されたPCショーで、プロセッサ・テクノロジー社のボブ・マーシュは、『インターフェイス・エイジ』誌の発行者であるボブ・ジョーンズに、レコードにソフトウェアをプレスすることについて話を持ちかけた。プロセッサ・テクノロジー社は、Intel 8080のプログラムを提供して録音してもらったが、このテストレコードはうまく動作せず、同社ではこの取り組みに時間を割くことができなかった。

SWTPC社のダン・メイヤーとゲイリー・キーは、Robert Uiterwykに対し、MC6800用の4K BASICインタプリタプログラムを提供するよう手配した。このプログラムをKCSによりオーディオテープに録音し、そのテープからマスターレコードを作るというアイデアである。Eva-Tone(ソノシート)は薄いビニール製のレコードに1曲分を記録することができた。これは安価で、雑誌に付録としてつけることができた。

マイクロコンピュータシステムズ社のビル・ターナーとビル・ブロングレン、『インターフェイス・エイジ』誌のボブ・ジョーンズ、ホリデイ・イン社のバド・シャムバーガーがEva-Tone社と協力して、レコードへのプログラムの記録に成功した。テープへの録音の中間段階ではドロップアウトが発生するため、SWTPC AC-30カセットインターフェースをレコードカッティング装置に直接接続した。

『インターフェイス・エイジ』1977年5月号に、KCSによる音声を約6分間収録した331⁄3回転のレコードが、「フロッピーROM」の名称で付録としてついた。1978年9月号の「フロッピーROMナンバー5」は、両面に記録されている。Apple BASICによる「自動化されたドレスパターン」とIAPSフォーマットによる「文字を書くためのプログラム」である。

## 300ボー

KCSのオリジナルの規格では、データは「マーク」(1)と「スペース」(0)で記録されていた。マークビットは2400 Hzの周波数で8周期で構成され、スペースビットは1200 Hzの周波数で4周期で構成されていた。通常は1バイト(8ビット)長のワードは、リトルエンディアン、つまり最下位ビットが最初に記録された。7ビットのワードの後にはパリティビットが続く。

## 1200 baud

エイコーン・コンピュータは、BBC MicroとAcorn ElectronにCUTSによる1200ボーのバリエーションを実装した。これは、「0」ビットを1200 Hzの正弦波の1周期に、「1」ビットを2400 Hzの2周期にすることで、データレートを上げたものである。標準的な符号化方式では、8ビットの情報の周りに"0"スタートビットと"1"ストップビットを置き、960ビット/秒の有効データレートが得られる。

また、キャリアトーンのギャップを挟んで256バイトのブロックに記録されており、各ブロックにはシーケンス番号とCRCによるチェックサムが記録されているため、読み取りエラーが発生した場合には、テープを巻き戻して失敗したブロックからリトライすることができる。

## 2400ボー

MSXはデフォルトで、エイコーンと同じビットエンコーディングによる標準の1200ボーと、オーディオレートを2倍にする2400ボーの両方に対応している。2400ボーのバリエーションでは、「0」ビットは2400 Hzの1周期、「1」ビットは4800 Hzの2周期である。エイコーンとは異なり、MSXは1つの「0」スタートビットに加えて2つの「1」ストップビットを使用するため、1200ボーでの実効レートは約873ビット/秒、2400ボーでの実効レートは約1,745ビット/秒である。マシンのBIOSは、理想的なオーディオソースから最大3600ボーでデータを読み出すことができる。

Bob CottisとMike Blandfordによって提案され、アマチュア・コンピュータ・クラブのニュースレターで発表されたQuick CUTS規格も2400ボーで動作する。これは、「0」を1200 Hzの半周期、「1」を2400 Hzの1周期としてエンコードしていた。受信機は位相同期回路を使用して自己クロックしていた。1978年に発行されたこの特許は、同様のCMI符号の1982年の特許よりも前に発行されている。

## 関連文献

- BYTE No.6(1976/Feb) pp. 72~73 BYTE's Audio Cassette Standards Symposium
- 『トランジスタ技術』1977年7月号「プログラム交換・標準化へのみちしるべ カンサス・シティ(KC)スタンダードについて」(同誌編集部)
- 安田寿明『マイ・コンピュータ入門』p. 179、『マイ・コンピュータをつかう』p. 281