カンサスシティスタンダード

カンサスシティスタンダード(Kansas City standard, KCS)またはバイトスタンダード(Byte standard)とは、コンパクトカセットテープに300 - 2400ビット/秒（300 - 2400ボー）のデータレートでデジタルデータを記録する（データレコーダ）フォーマットの一つである。1976年に初めて定義された。これは、1975年11月にミズーリ州カンザスシティで開催された『バイト』誌主催のシンポジウムで、安価な民生用カセットにマイクロコンピュータで作成したデジタルデータを保存するための標準規格を開発したことに端を発している。
基本規格のバリエーションの一つにCUTSがあり、これは300ビット/秒では同様だったが、オプションで1200ビット/秒のモードもあった。CUTSは、エイコーンやMSXなどで使用されていたデフォルトのエンコーディングだった。MSXにはさらに高い2400ビット/秒モードが追加されたが、それ以外は同様だった。CUTSの1200ビット/秒モードは、クロスプラットフォームので使用される標準でもあった。
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ビットとなり、毎秒バイトのデータレートとなる。
『バイト』1976年2月号にはシンポジウムのレポートが掲載され、3月号にはドン・ランカスターとハロルド・マウフによるハードウェアの例が掲載された。 300ボーというレートは、信頼性が高いが、遅く、典型的な8キロバイトのBASICプログラムをロードするのに5分もかかった。ほとんどのオーディオカセット回路は、より高速な速度に対応していた。
レス・ソロモンによれば、KCSの努力は実を結ばなかったという。「残念ながら、それは長くは続かなかった。その月が終わる前に、誰もが自分のテープ規格に戻ってしまい、録音方法の混乱が悪化してしまった。」
カンサスシティ・シンポジウムの参加者は以下の通りである。
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分間収録した33回転のレコードが、「フロッピー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年に発行されたこの特許は、同様のの1982年の特許よりも前に発行されている。