データレコーダ
データレコーダとは、音楽用として大量に出回っていたテープレコーダーを利用してカセットテープにデータを書き込むというもの。CMT(Cassette Magnetic Tape:カセット磁気テープ)などとも呼ばれた。これはコンピュータ業界では磁気テープをMTと略すため、それにカセットのCを付けたものである。
本項では1980年代以前のホビーパソコンブームにおける磁気テープによるデータの記録について扱う。2000年代以降現在にかけてのデータ用磁気テープについてはテープドライブを参照のこと。
1970年代、マイクロコンピュータが発展したが、手頃な補助記憶装置がなかった。このため、民生用に大量生産されており非常に安価で便利な記録媒体と録音再生機器である、コンパクトカセットやマイクロカセットなどとカセットテープレコーダーを流用するというアイディアが生まれた。
これは、情報をFSKなどの変調方式でオーディオ周波数帯の信号に変調して記録するもので、代表的な記録方式にKCS(カンサスシティスタンダード)があり1200Hz/2400HzのFSK方式で300bpsの記録ができた。やがて電子工作の延長的なマイクロコンピュータは様々なコンピュータメーカーから発売された初期のパーソナルコンピュータへと置き換えられていったが、フロッピーディスクは当初、読取装置となるドライブもディスクメディア自体も高価なものであり、ディスクドライブ搭載機は高価な機種に限定され、ホビーパソコンのような廉価で一般家庭への普及を目指した機種では採用し難いものであったことから、データレコーダーは依然として利用され続けた。
8ビット時代のパソコンへの具体的な採用例としては、日本においてはNECのPC-8000シリーズなどではキャリア周波数はそのままでシンボル長のみ短縮した600bpsでの記録を標準としていた。シャープのMZシリーズではコンピュータ本体に直接内蔵され、ソフトウェア制御によるパルス幅変調方式で記録を行い、他の機種と比較し、エラーの少ないアクセスと共に、1200bpsの速度を実現していた。この筐体に直接内蔵される専用のデータレコーダはMZ-80B、並びにその系譜にある機種では2000bpsに速度を変更すると共に、後述の通り、制御の多くもソフトウェアから行うことが可能であった。CPUからの直接制御であるため、そのタイミングの書き換えによって、そのレコーダの信頼性も手伝い、更に高速な読み書きも可能であった。別部署から発売されたX1でも、この電磁制御が可能なデータレコーダを採用しており、速度は2700bpsになっている。他に千葉憲昭の提唱したサッポロシティ・スタンダードがある。
また、コンピュータの周辺機器として使い勝手がいいようにモディファイされたカセットテープレコーダーが作られ、データレコーダと呼ばれた(後述)。
以上で述べたような時代には、メーカー純正のドライブはもとより比較して安価なサードパーティ製でも、パソコン本体より高価ということもザラだったため、データレコーダがよく使われた。その後、時代を下ってディスクドライブやディスクメディアが低価格化するようになると、廉価なホビーパソコンでもデータ転送速度の遅さからロード時間が長く、またシーク(データ読み出しのために媒体の該当データ箇所に読み取りヘッドを移動すること)に対応していないか、対応していたとしても時間の掛かるデータレコーダーからランダムアクセス性の優れたフロッピーディスクメディアへと切り替えられていった。過渡期には、クイックディスクのようなディスクメディアとテープメディアの中間のような機器(と媒体)も存在した。
データの保存自体は普通のアナログテープを録音/再生できるテープレコーダー、極端な話ではラジカセのような音響機器としての製品でも行えるが、データレコーダはデータの保存に特化した機能を備えている。例えば、スピーカー用と別にデータ出力専用のボリュームが付いていたり、コントロールができるものもある。パーソナルコンピュータに内蔵された専用のものでは、後述するようにテープの早送り・巻き戻しを行って、記録されたデータの先頭にシークする機能もあった。そこまででなくても、専用の製品としてデータロードに際してパーソナルコンピュータ側から再生を開始するリモート端子ぐらいは付いているものが多い。
データレコーダの仕様ではないが、当時使われた記録方式の仕様について記す。論理フォーマットについても様々なものがあったが、ここでは物理フォーマットについてのみ述べる。
カンサスシティスタンダードは、冗長さにより信頼性が高い半面、その遅さは当時のマイコン用としても遅かった。このため制定後すぐに、より高速な方式の提案が乱立した。サッポロシティ・スタンダードは標準としてのカンサス方式との互換についても考慮しつつ、2値変調の理論限界に迫る速度を実現することで、大幅な改良の余地を残さない「スタンダード」とするべく提案された野心的な仕様であった。
サッポロシティ・スタンダードは、2,400Hzと1,200Hzの2値変調という点はカンサスシティスタンダードと共通としている。その上で、マーク(1)を2,400Hzの半サイクル、スペース(ゼロ)を1,200Hzの半サイクルとする。つまり信号波形を矩形波にモデル化すると、その1個の山あるいは谷の前後のエッジ間隔の長短に情報を乗せる方式である。0と1の割合を半々と仮定して3,200bpsと公称した。
提案者千葉憲昭が札幌の人であり、当時地方組織としては最大級であった、札幌を拠点とするマイコンクラブ「北海道マイクロコンピュータ研究会」(立ち上げ・青木由直)で1977年に発表し同会で研究された方式であることから、サッポロシティの名が付けられた。公刊された文献としては、『トランジスタ技術』1978年12月号の記事「サッポロ シティ スタンダードについて」、電気学会情報処理研究会 IP-78-76「データ処理用ローコスト周辺装置の試作」、特開S54-96908「エッジ間隔を利用したディジタル変調方式」他がある(本項の「サッポロシティ・スタンダード」という表記はトラ技1980年11月号の記事に従った)。
記録と再生について簡単に説明する。記録は、これはサッポロ方式に限らないが、ディジタル回路で生成した矩形波を、レベルとオフセットの調整のみでそのままカセットテープレコーダの録音入力に入れ録音する。
再生は、カセットテープレコーダからの出力をアナログ的に波形を調整した後、シュミットトリガを通して矩形波とする。矩形波の立ち上がり立ち下がりのそれぞれのエッジから、約0.3ミリ秒後までにレベルが反転しなければ(していなければ)1,200Hz、反転すれば2,400Hzとわかる。サッポロ方式の場合ならそこから直接ビット列とすれば良いし、カンサス方式であれば8乃至16個ごとに処理すれば良い。
私設の「さっぽろコンピュータ博物館」に、本方式のインタフェースボード北斗電子製SC-3200が所蔵されている。
N-BASICなど初期のマイクロソフト系BASICなどではデータレコーダへのセーブはCSAVE、ロードはCLOADだった。CLOAD?でベリファイも行なえる。のちのN88-BASICや富士通のF-BASIC系などでは、カセット専用命令を持たず通常のSAVE・LOADコマンドでデバイス名「CASx:」(xは数字)を指定した。
シャープのX1およびMZ-80B/2000、その後継機種のデータレコーダは、デッキのオープン、並びに、メカ部の制御(ヘッドやキャプスタンのローディング)が、ボタンを操作する人力によるものではなく、電気制御によるものであったため、コンピュータ側からレコーダの動作を制御することができた。このためHu-BASICにはカセット制御用のコマンドが用意されている。また自動頭出し(ヘッドを軽く接触させた状態で高速送りし無音部を検出するもの)もできたため、データレコーダでありながらランダムアクセスに近い使い方も可能であった。
ファミリーベーシックのプログラム保存にも使われていた。ファミリーコンピュータ本体にはカセットテープインタフェースがなく、エディットモードのあるゲームで作成した面を保存する場合にもキーボードを介してデータレコーダを接続する必要があった(それ故か重く場所を取るキーボードを接続する煩わしさを解消する為、エディットデータのみ対応のホリ電機製S.D.ステーションが使われることがあった)。
データレコーダー実機の入手性が悪化した現代では、レトロコンピューティングなどで実機のコンピュータ製品本体を使おうとする場合、録音の機能を備えたミニディスクレコーダーやICレコーダーなどで代用を行う。ただし位相が保証されない非可逆圧縮などにより、データエラーが出る可能性がある。