カンサスシティスタンダード
カンサスシティスタンダード(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ボー当時は提案される全ての方式が2値変調であったためということもあるが、ビット/秒(bps)の代わりに本来は変調レートの単位であるボー(baud)という語が使われることが多かったのはこの頃からである。コンピュータの通信以前からあるテレタイプライタなどの時代から「ボー」は使われていた、といったこともある。となる。各フレームは、1つの"0"のスタートビットから始まり、8つのデータビット(最下位ビットが最初)、2つの"1"のストップビットが続くので、各フレームは11ビットとなり、毎秒27バイトのデータレートとなる。
『バイト』1976年2月号にはシンポジウムのレポートが掲載され、3月号にはドン・ランカスターとハロルド・マウフによるハードウェアの例が掲載された。 300ボーというレートは、信頼性が高いが、遅く、典型的な8キロバイトのBASICプログラムをロードするのに5分もかかった。ほとんどのオーディオカセット回路は、より高速な速度に対応していた。
レス・ソロモンによれば、KCSの努力は実を結ばなかったという。「残念ながら、それは長くは続かなかった。その月が終わる前に、誰もが自分のテープ規格に戻ってしまい、録音方法の混乱が悪化してしまった。」
カンサスシティ・シンポジウムの参加者は以下の通りである。
レイ・ボリル, 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
プロセッサ・テクノロジー社は、300ボーまたは1200ボーで動作するCUTS (Computer Users' Tape Standard)方式を開発し、普及した。プロセッサ・テクノロジー社は、S-100バスのCUTSテープI/Oインターフェースボードを提供している。
ターベル・カセット・インターフェイス(Tarbell Cassette Interface)は、初期のPC販売店であるスタン・ベイトによれば「S-100コンピュータの事実上の標準となった」カセット・インターフェイスである。ターベルのネイティブ方式(Tarbell standard)のほか、KCS方式にも対応していた。
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フォーマットによる「文字を書くためのプログラム」である。
KCSのオリジナルの規格では、データは「マーク」(1)と「スペース」(0)で記録されていた。マークビットは2400 Hzの周波数で8周期で構成され、スペースビットは1200 Hzの周波数で4周期で構成されていた。通常は1バイト(8ビット)長のワードは、リトルエンディアン、つまり最下位ビットが最初に記録された。7ビットのワードの後にはパリティビットが続く。
エイコーン・コンピュータは、BBC MicroとAcorn ElectronにCUTSによる1200ボーのバリエーションを実装した。これは、「0」ビットを1200 Hzの正弦波の1周期に、「1」ビットを2400 Hzの2周期にすることで、データレートを上げたものである。標準的な符号化方式では、8ビットの情報の周りに"0"スタートビットと"1"ストップビットを置き、960ビット/秒の有効データレートが得られる。
また、キャリアトーンのギャップを挟んで256バイトのブロックに記録されており、各ブロックにはシーケンス番号とCRCによるチェックサムが記録されているため、読み取りエラーが発生した場合には、テープを巻き戻して失敗したブロックからリトライすることができる。
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年の特許よりも前に発行されている。