日本で3.5インチ3モードFDDが必要だったわけ
3.5インチ1.2MB (2HD) フォーマットで3モードFDDが必要な理由
PC/AT互換機に使われているFDC (フロッピー・ディスク・コントローラー) のほとんどはIntel 82077AAというFDCと互換性があります。このFDCはデータ転送レートが250Kbps, 300Kbps, 500Kbps, 1Mbpsに対応していました。
以下はフロッピーディスクフォーマットの仕様です。オレンジ背景は主にPC98で使われていたフォーマット、それ以外はPC/AT互換機で一般的に使われたフォーマットです。
フォーマットの種類 | 物理仕様 | 論理仕様 | |||||||||
媒体の種類 | 回転速度 | トラック密度 | 転送レート | ビット密度 | 面数 | 容量(U) | セクタ容量 | セクタ数 | シリンダ数 | 容量(F) | |
5.25インチ 320KB(2D) | 5.25" 2D | 300rpm | 48tpi | 250Kbps | 5876bpi | 2 | 500KB | 512B | 8 | 40 | 320KiB |
5.25インチ 360KB(2D) | 5.25" 2D | 300rpm | 48tpi | 250Kbps | 5876bpi | 2 | 500KB | 512B | 9 | 40 | 360KiB |
5.25インチ 1.2MB(2HC, PC/AT) | 5.25" 2HD | 360rpm | 96tpi | 500Kbps | 9646bpi | 2 | 1.6MB | 512B | 15 | 80 | 1200KiB |
5.25インチ 1.2MB(2HD, PC98) | 5.25" 2HD | 360rpm | 96tpi | 500Kbps | 9646bpi | 2 | 1.6MB | 1024B | 8 | 77 | 1232KiB |
3.5インチ 720KB(2DD) | 3.5" 2DD | 300rpm | 135tpi | 250Kbps | 8717bpi | 2 | 1.0MB | 512B | 9 | 80 | 720KiB |
3.5インチ 1.2MB(2HD, PC98) | 3.5" 2HD | 360rpm |
135tpi | 500Kbps | 14184bpi | 2 | 1.6MB | 1024B | 8 | 77 | 1232KiB |
3.5インチ 1.44MB(2HD) | 3.5" 2HD | 300rpm | 135tpi | 500Kbps | 17434bpi | 2 | 2.0MB | 512B | 18 | 80 | 1440KiB |
3.5インチ 2.88MB(2ED) | 3.5" 2ED | 300rpm | 135tpi | 1Mbps | 34848bpi | 2 | 4.0MB | 512B | 36 | 80 | 2880KiB |
上の表における回転速度と転送レートは各フォーマットが使われた当初の仕様で、回転速度が360RPMと300RPMで混在しています。これを5.25インチは360RPM、3.5インチは300RPMに統一すると以下のようになります。
フォーマットの種類 | 物理仕様 | 論理仕様 | |||||||||
媒体の種類 | 回転速度 | トラック密度 | 転送レート | ビット密度 | 面数 | 容量(U) | セクタ容量 | セクタ数 | シリンダ数 | 容量(F) | |
5.25インチ 320KB(2D) | 5.25" 2D | 360rpm | 48tpi | 300Kbps | 5876bpi | 2 | 500KB | 512B | 8 | 40 | 320KiB |
5.25インチ 360KB(2D) | 5.25" 2D | 360rpm | 48tpi | 300Kbps | 5876bpi | 2 | 500KB | 512B | 9 | 40 | 360KiB |
5.25インチ 1.2MB(2HC, PC/AT) | 5.25" 2HD | 360rpm | 96tpi | 500Kbps | 9646bpi | 2 | 1.6MB | 512B | 15 | 80 | 1200KiB |
5.25インチ 1.2MB(2HD, PC98) | 5.25" 2HD | 360rpm | 96tpi | 500Kbps | 9646bpi | 2 | 1.6MB | 1024B | 8 | 77 | 1232KiB |
3.5インチ 720KB(2DD) | 3.5" 2DD | 300rpm | 135tpi | 250Kbps | 8717bpi | 2 | 1.0MB | 512B | 9 | 80 | 720KiB |
3.5インチ 1.2MB(2HD, PC98) | 3.5" 2HD | 300rpm |
135tpi | 416.66Kbps | 14184bpi | 2 | 1.6MB | 1024B | 8 | 77 | 1232KiB |
3.5インチ 1.44MB(2HD) | 3.5" 2HD | 300rpm | 135tpi | 500Kbps | 17434bpi | 2 | 2.0MB | 512B | 18 | 80 | 1440KiB |
3.5インチ 2.88MB(2ED) | 3.5" 2ED | 300rpm | 135tpi | 1Mbps | 34848bpi | 2 | 4.0MB | 512B | 36 | 80 | 2880KiB |
1.2MB (2HD) フォーマットだけ、FDCでサポートされていない転送レートになっています。仮にFDCで転送レート約416Kbpsがサポートされていれば、300RPMで1.2MB (2HD) フォーマットを扱うことができましたが、残念ながらこれは日本でしか普及しなかったフォーマットであるため、FDCでは対応してくれませんでした。後に日本でPC98からPC/AT互換機への乗り替えが起きたとき、相互でデータが交換できずに困る事態になりました。そこで、FDD側で回転速度を300RPMから360RPMに切り替えることで、既存のデータ転送レート (500Kbps) を使ってFDCへの変更は最小限に抑えながらも、3.5インチFDDで1.2MB (2HD) フォーマットを扱えるようになりました。
私の素人思考だと、目に見えない転送レートなんかより、ドライブの回転速度を変える方がよっぽど難しそうなイメージがありますが、FDCのデータシートを見ると新たな転送レートへの対応は容易ではなさそうです。フロッピーに記録されたデータにはクロックが合成されていて、読み出し時にデータセパレータ回路でデータとクロックを分けています。このクロックに同期するためにFDC側でそれに合うクロックを用意する必要があります。250K, 500K, 1Mは分周器を使えば1個のオシレータから簡単にクロックを生成できます。そこに300Kが入るとややこしくなりますが、2つくらいなら最小公倍数のオシレータとその分の分周器を用意すれば済みます。問題はこれに416.66Kが加わることです。416.66Kのクロックも生成できるような回路を加えるか、FDD側で2種類の回転速度を用意しておいてFDCにはその切り替えコマンドだけを加えるか。これらと市場のニーズを天秤に掛けたとき、日本限定のフォーマットに対応するためだけに前者を採用するくらいなら、後者を採用した方がコスト的に良いと判断されたのでしょう。
機種別フォーマット標準対応表
△は読み書きのみの対応や一部機種の対応、非公式の対応、オプション品の増設による対応など、限定的な対応を示します。ただし、○であっても搭載するドライブの種類(シリーズ初期の一部機種)によっては対応していない場合があります。J-3100やPS/55には3モード対応モデルがありますが、ここでは考慮に入れていません。
フォーマットの種類 | IBM PC/AT | IBM PS/2 | IBM PS/55 | NEC PC-9801 | NEC PC-9821 | 東芝 J-3100 |
5.25インチ 320KB(2D) | △ | △ | △ | △ | △ | ? |
5.25インチ 360KB(2D) | △ | △ | △ | △ | △ | ? |
5.25インチ 640KB(2DD) | ? | ? | ○ | ○ | ○ | ? |
5.25インチ 1.2MB(2HC, PC/AT) | ○ | ○ | ○ | △ | △ | ? |
5.25インチ 1.2MB(2HD, PC98) | × | × | × | ○ | ○ | ? |
3.5インチ 1.2MB(2HC, PC/AT) | ー | × | × | △ | △ | ○ |
3.5インチ 1.2MB(2HD, PC98) | ー | × | × | ○ | ○ | ○ |
3.5インチ 720KB(2DD) | ー | ○ | ○ | ○ | ○ | ○ |
3.5インチ 1.44MB(2HD) | ー | ○ | ○ | × | ○ | × |
3.5インチ 2.88MB(2ED) | ー | △ | △ | × | × | ? |
フロッピーディスクフォーマットの歴史
ディスクフォーマットが普及した経緯をしっかり説明すると、非常に長くなります。あくまで自説ですが、それでも読むという方は次をお読み下さい。
5.25インチ360KB (2D) フォーマット
まず、最初のFDDは8インチ1S(片面単密度)360RPMで、大型コンピューターの世界で使われました。8インチFDDは高価で、1980年代に入ってもコンシューマ市場にはほとんど浸透しませんでした。1976年、アメリカのShugart Associatesという会社がこれと同じ記録技術で5.25インチFDDを開発しました。回転速度は300RPMになりました。これは安価だったため、当時まだ米国でも黎明期にあったパソコン市場で広く普及しました。回転速度を300RPMに落とした理由は定かではありませんが、とにかくこれが業界標準として浸透しました。これを回転数はそのままに、両面記録やMFM記録方式などドライブとディスクを改良して、記録密度を片面単密度 (1S) から両面倍密度 (2D) へと増やしていきました。
1981年に発売されたIBM PCでは5.25インチ 320KB (2D) フォーマットが標準として使われました。ドライブの回転速度はShugartの仕様を引き継ぎ、ディスク回転速度は300RPM、データ転送レートは250Kbpsでした。PC DOS 2.0で1トラック辺り8セクタの320KB (2D) フォーマットに加えて、9セクタの360KB (2D) フォーマットがサポートされました(以下360KBフォーマットとする)。1982年4月、電電公社とワイ・イー・データが8インチ2Dドライブと同等の仕様を持つ5.25インチ両面高密度 (2HD) FDDを開発しました。データ転送レートは360KBフォーマットの丁度2倍の500Kbpsで8インチFDDと同じ、ディスクの回転速度も8インチFDDと同じ360RPMに合わせ、8インチFDDのシステムにそのまま繋ぎ替えることができました。
5.25インチ1.2MB (2HC) フォーマット
1984年に発売されたPC/ATでは、この2HDドライブを使って5.25インチ1.2MBフォーマット(IBMは2HCと命名)をサポートしました。そのため、ディスクの回転速度は360RPMに変わりました。ただし、PC DOSの論理フォーマットは日本企業が提唱する8インチFD互換ではなく、従来の512バイト/セクタを維持したままセクタ数を9から15に増やしていました。IBMがShugart由来の300RPMを維持しなかった理由は定かではありませんが、私の推測では、PC/ATの開発時点で300RPMで駆動できる5.25インチ高密度 (2HD) FDDがまだなかったのだと思います。PC/ATでは300RPM・250Kbpsで記録していた記録密度のディスク(360KBフォーマット)を360RPMで読み取るため、1.2MBフォーマット用の500Kbpsに加えて旧来の360KBフォーマット用に300Kbpsのデータ転送レートをサポートしました。これにより、ディスクの読み取り速度も従来機より若干速くなりました。
ここで問題が発生します。1.2MBフォーマットは360KBフォーマットより狭いトラック幅を使用するため、2HDドライブのヘッドもそれに対応する特性になっています。このため、2HDドライブで書き込んだ360KBフォーマットのデータは、2Dドライブでの読み取りが保証されませんでした。2HDドライブは2Dドライブの完全後方互換ではないと言うことです。PC/ATでは300RPMの2Dドライブをオプションで用意し、FDCは250Kbpsのデータ転送レートも引き続きサポートしていました。互換機市場では2Dドライブ搭載モデルと2HDドライブ搭載モデルが併売される状況になりました。
3.5インチ720KB (2DD), 1.44MB (2HD) フォーマット
5.25インチに次ぐ超小型フロッピーディスクについては、FDDメーカー各社の熾烈な競争があり、規格が乱立しました。1984年にMacintoshとMSXがソニー発案の3.5インチを採用し、ディスクの物理仕様は3.5インチが標準に定まりました。しかし、記録方式はMacintoshがGCR、MSXがMFMという違いがあり、相互でフォーマットに互換性がありませんでした。1985年、ソニーが3.5インチ高密度 (2HD) フロッピーディスクを開発。容量は未フォーマット時で最大2MBですが、8インチや5.25インチ2HDと互換性を保った場合は1.6MBとし、NTT(旧:電電公社)を初めとする日本のメーカーから賛同を得ました。ところが、ソニーはまず前者のFDDを発売し、日本のメーカー各社は後者のFDDを発売したため、ここでも支持する規格が分裂することになりました。最終的には両者とも両方のドライブを発売しました。
欧米では5.25インチ2HDドライブがあまり浸透しない中、PC市場ではポータブル機の需要が高まってきます。1984年にデータゼネラル、1985年に東芝がそれぞれ3.5インチ2DDドライブを搭載したラップトップ型パソコンを発売しました。これは360KB (2D) フォーマットのトラック数を倍にして、回転速度は300RPMのまま、250Kbpsのデータ転送レートを用いた720KB (2DD) フォーマットでした。IBMは1986年に3.5インチ2DDドライブを搭載したラップトップ (IBM PC Convertible) を発売し、PC DOS 3.2で720KBフォーマットに対応しました。
IBMが1987年にPC/ATの後継として発売したPersonal System/2 (PS/2) では3.5インチ2HDドライブを搭載し、回転速度は300RPMのまま、500Kbpsのデータ転送レートを用いて、3.5インチ1440KBフォーマット(IBMは1.44MBと呼んだ)に対応しました。これは未フォーマット時の容量で言えば2MBの、いわばソニー方式です。PS/2はPC/ATの後継としながらも、全モデルで3.5インチ2DDまたは2HDドライブを標準装備し、5.25インチFDDはオプション扱いという大胆なスペック改革をしました。これにはユーザーから賛否両論ありましたが、デスクトップ環境を3.5インチへと移行させるための推進力となりました。少し後にMacintoshも1.44MBフォーマットに対応し、業界は1.44MBフォーマットが標準に傾いていきました。
5.25インチ1.2MB (2HD, PC98) フォーマット
日本ではフロッピーディスクが米国とは全く異なる経緯で普及しました。米国でIBM PCが登場したとき、日本ではパソコンがまだマニア向けの商品として見られていて、先進的なユーザーを除いてFDDは普及していませんでした。日本でパソコンがオフィスに取り入れられ始めたのは1982年頃。5.25インチ640KB (2DD) または8インチ1.2MB (2D) のフォーマットから普及していきました。どちらもIBM PCの世界ではマイナーなフォーマットです。360KBフォーマットの容量は日本語処理対応ソフトで使用するには不十分とみられており、ビジネス用パソコンの間では普及しませんでした。後に登場した5.25インチ1.2MB (2HD) は5.25インチ640KB (2DD) とトラック密度が同じなので、2HDドライブは2DDのディスクも問題なく読み書きできました。よって、2DDから2HDへの移行はスムーズでした。
3.5インチ1.2MB (2HD, PC98) フォーマット
日本では5.25インチ2HDドライブが普及した一方、3.5インチへの移行はアメリカよりも数年単位で遅れました。日本で独占的地位を確立していたNECのPC-98では、1985年にPC-9801U2で3.5インチ640KB (2DD) フォーマットを採用。1986年にPC-9801UV2で5.25インチ1.2MBフォーマットと論理互換性を保った3.5インチ1.2MB (2HD) フォーマットを採用しました。回転速度は360RPMになりました。富士通も2HDドライブではこのフォーマットを採用しました。5.25インチ1.2MBフォーマットが既に普及し始めており、かつ互換性が第一に求められた時代だったので、この流れは妥当でした。
PC-98では長年3.5インチFDD搭載機が省スペースモデルとして開発され、主力の5.25インチFDD搭載モデルとは系統が区別されていました。1990年末に発売されたPC-9801DXで共通の筐体を使い、ようやくデスクトップの主力シリーズで3.5インチFDD搭載モデルが発売されました。しかし、ユーザーの大多数が3.5インチに乗り換えるには、それからさらに数年掛かりました。もっとも、海外IBM PC互換機の世界でもすぐに3.5インチ一色になったわけではないので、しばらくの間ソフトが5.25インチと3.5インチで配布されたのは国内外とも同じでした。
3モードFDD(720KB/1.2MB/1.44MB対応FDD)
3モードFDDとは、300RPMと360RPMの回転速度切り替えが可能な3.5インチFDDのことです。これによって、既存のデータ転送レートを変えずに1.2MBフォーマットと1.44MBフォーマットの両方に対応しています。
3.5インチ1.2MBフォーマットは日本以外では使われず、3モードFDDという言葉も日本以外では通じないか、もしくは、720KB (2DD), 1.44MB (2HD), 2.88MB (2ED)の3種類のフォーマットに対応したドライブとして認識されています。2HDや2DDなどの呼称も日本特有で、日本以外では単に1.44MBや720KBなどのサイズか、HDやDDと呼ばれます。ここでは日本における3モードFDDを取り上げます。
3モードFDDがいつ頃登場したのか定かではありませんが、東芝のJ-3100シリーズでは、1990年2月発表の新モデル以降で3モードFDDが搭載されています。NEC PC-98では1993年1月発表のモデル以降で3モードFDDが搭載されています。
Windowsに標準的な3モードFDD対応ドライバがないことから分かるように、3モードへの対応はFDC (マルチIOチップ) によって仕様にバラツキがあり、それぞれに対応するドライバが必要でした。また、ドライブ自体もフォーマットを判別して自動で回転数を切り替えるものと、FDCからの信号で回転数を切り替えるものがありました。これらはマザーボードのFDCが3モードの切り替えに対応している必要がありましたが、マザーボードが3モードに対応していなくても特殊なドライバで切り替え動作できるFDDが、TOMCATというメーカーから出ていました。
フロッピーディスクから他のストレージへのデータ移行期間は2000年代に入って終わったとみたのか、2000年代中期にはFDDは専らWindows XPのF6デバイスドライバのインストール用、または、DSP版WindowsをバンドルするためのPCパーツとして販売されている印象でした。2000年代後半にはマザーボードからFDDコネクターが消えましたが、外付けの3モード対応USB-FDDは現行のWindows 10でも使用できます。
参考サイト
- PC/AT互換機のWin98にてPC98 1.2MBフォーマットのフロッピーディスクを読む http://radioc.web.fc2.com/column/pc98bas/win98_read_nec12_format.htm
- 色々な5インチFDDをAT互換機に付けてみる -- もしかしたら開発室 https://kiyoto-y.github.io/5inch.htm
- NEC uPD72067 FDC | Electrelic https://electrelic.com/electrelic/node/670