フロッピーの基礎
フロッピーとは
磁性体を用いた記録媒体で、容量は1枚当たり約1MB。CDとは違い何度でも書き直すことが可能である。
フロッピーの種類
広く流通したものとして、3種類あげられる。
・8インチ
・5.25インチ
・3.5インチ
これらの数字は、フロッピーの対角線の長さではなく、中身のまるい磁性体の直径を表している。
また、サイズが大きければ大きいほど容量もデカいかというと、そうではない。後述する「規格」にもよるが、サイズによる容量の差異は無いと考えてよい。
フロッピーの規格
それぞれのサイズに対し、以下の規格が存在してした。なお、ここでは広く流通していたものに限定している。
8インチ
片面単密度(1S):約240kB
両面単密度(2S):約500kB
両面倍密度(2D):約1.2MB
5.25インチ
片面単密度(1S):約80kB
片面倍密度(1D):約160kB
両面倍密度(2D):約320kB
両面倍密度倍トラック(2DD):約640kB
両面高密度(2HD):約1.2MB
3.5インチ
片面倍密度(1D):約160kB
両面倍密度(2D):約320kB
両面倍密度倍トラック(2DD):約640kB
両面高密度(2HD):約1.2MB
フォーマット形式一覧
興味があればこれ読んでみてください。いっぱいかいてあります。
http://hamlin.html.xdomain.jp/FDD/FDSPEC/FDSPEC.htm
セクタとかトラックとかの言い回し分からない方は以下を参照。
https://middleriver.chagasi.com/electronics/fddemu.html
コピープロテクトを突破したい
お待たせしました。
前述の通り、フロッピーは書き換え自由なため、ゲームなどをこの媒体で配布していた当時は、いかにユーザーにコピーさせないかという工夫が数多くなされた。
機種(というより、コンピュータに内蔵されたフロッピーディスクコントローラ:FDCの種類)によって手法は様々である。この記事では、一部のみをとりあげるので、興味をもったらぜひ自身で調べてみてほしい。
特定のトラックだけ変なフォーマットにする。
普通にコピーしようとすると、当然エラーになるが、トラック毎にフォーマットを調べなおすようなコピーツールで簡単に突破できる。
特定のシリンダを未フォーマットにしておく。
ある場所だけフォーマットをしないでおく。未フォーマットの場所をよむと、毎回ランダムな値が返ってくる。これをソフト側で検出しようというものである。
これは厄介で、専用のツールだけではどうにもならない。なぜなら、1度でも通常フォーマットをしたディスクは、すべてのセクタに何かしらの値がかかれているからだ。これは、一度磁石などで物理的にディスク全体をまっさらにしたあと、その部分だけ書き込みを行わないなどということができるコピーツールで書き込む必要があった。
CRCエラー
フロッピーには、セクタごとにチェックサムのようなものが存在している。それを、おかしい値にしておくという手法である。これはFDC側で勝手に正しい値が書かれてしまうのでソフトでどうにかできるものではない。
これをコピーするには、事前にCRC部分がその値になるようなデータを書き込んだ後、本来のデータ部分を書き込む際に、データだけ書き込んだタイミングでFDCにリセット信号を送り書き込みをやめてしまうというコピー方法がとられた。考えた人ほんとに頭いい。
時分秒プロテクト
MB8876という富士通のFDCが搭載されたパソコン向けのプロテクトである。これは、このICでF5,F6,F7という値が書き込めない仕様(詳細は省略。気になるなら調べてね)を逆手にとり、それをFDに埋め込んだものだ。
時分秒の名前の由来は、これらの値がキャラクタコードの時分秒にあたるから。
これは別のICが乗ったパソコンでコピーすればいいのでラク。(NECのuPD765など)
その他
Appleが出していた、AppleIIというパソコン。これはとっても面白い仕様で、FDCが存在せず、CPUがすべてを制御している。そのため、ヘッドやモーターの動きまでソフトウェア側から制御できるようになっていた。
なので、この機種はたくさんの面白いプロテクトがあり、例えば
・フロッピーそのものが逆回転する
・通常のセクタとは微妙にずれた位置にセクタが置かれたトラックが存在
・読み取りヘッドが通常より早く動く
・わざと回転数を遅くして書き込んである
など。あまりにもおかしなプロテクトが多くて、他社製の互換ドライブでは使用できないものが存在したため、純正ドライブの購入を強いられたパターンもあったのだとか。