PC/AT互換機のWin98にてPC98 1.2MBフォーマットのフロッピーディスクを読む
2020年現在に今さらWindows 98の話かと思われるかもしれません。単に私がPC98を所有してなくて、その代わりに、5インチFDDを積んだPC/AT互換機にWindows 98がインストールされていたので、それを使うついでに調べた話です。
この記事を読まれている方は、PC98のMS-DOSでフォーマットされた「2HDフロッピーディスク」、俗に1.2MBフォーマットやらNECフォーマットやらをPC/AT互換機で読むにはひと工夫が必要であることは、既にご存知かと思います。2HDという表現は物理仕様と論理仕様がごちゃ混ぜなので、ここでは「1.2MB (2HD) フォーマット」と呼ぶことにします。
ハードウェアが対応しているか
まず、PC/AT互換機でPC98の1.2MB (2HD) フォーマットがハード的に読めるかどうかは、サイズが5.25インチと3.5インチのどちらかによって異なります。
- 5.25インチ1.2MB (2HD) フォーマット → PC/AT互換機の5.25インチFDDでそのまま扱える。
- 3.5インチ1.2MB (2HD) フォーマット → 3モードに対応したFDDとFDC、及び、それに対応するドライバが必要。
なぜ5.25インチと3.5インチで対応に差が出るのか。理由を端的に言えば、PC/AT互換機の5.25インチFDDはディスクの回転速度が360RPM固定であるのに対し、3.5インチFDDは300RPM固定。また、FDC(フロッピーディスク コントローラー)はデータ転送レートが250Kbps, 300Kbps, 500Kbps, 1Mbpsのいずれかに対応しています。このため、5.25インチFDDの360RPMでは500Kbpsのデータ転送レートを使って1.2MBフォーマットを読み書きできますが、3.5インチFDDの300RPMでは対応するデータ転送レートがありません。歴史経緯を説明すると長くなるため、別のページで説明します。頑張って読む必要はありません。
5.25インチFDDを使う
日本で最初から5.25インチFDDを積んでいるPC/AT互換機は少数しか出回っていません。5.25インチFDDはPC-98用のものが比較的手に入りやすいので、これを流用することになると思いますが、その場合はFDD側の設定を変更する必要があります。
5.25インチFDDを使うには34ピンカードエッジに対応するケーブルが必要ですが、2012年以降これに対応するケーブルを新品で販売している店を見かけていないので、5.25インチFDDの新規導入はハードルが高くなっています。私は2010年頃にハードオフで100円ジャンク品ボックスに混ざっていたところを見つけて購入しました(買った時点では使う予定はなかった)。
2000年代に入ると、FDC自体は5.25インチFDDに対応していても、BIOSが5.25インチFDDのサポートを切っている場合があります。うろ覚えですが、あるマザーボードではBIOSのバージョンを更新したら、選択肢から5.25インチFDDの設定が削除されていた記憶があります。FDDがBIOSレベルで認識されていない場合、DOSで認識しないのはもちろん、Windowsでもマイクロソフトの標準ドライバでは認識しません。I/O自体は生きていると思うので、BIOSに依存しないドライバに変えれば使えるようになるかもしれません。
3モード対応3.5インチFDDを使う
内蔵型FDD/FDCの3モード対応ドライバは基本的にWindows 95, 98, Meでしか使えないと思って下さい。一応、Windows 2000, XPで使えるようにするシェアウェアはありました。フリーソフトがあることは最近知りました(後述)。
3モードFDDの該当品情報は私も次のページでまとめていますが、同じ型番でも仕様違いが存在することがあるので、あんまり鵜呑みにしないで下さい。
2000年代にIBM、レノボ、デル、富士通、NECなど多くのメーカーから発売されたUSB接続の薄型3.5インチFDDは、同じY-E DATA製の3モードFDDが使われており、Windows 2000, Me以降ではこれに対応するドライバが標準で入っています。Windows 98に対応するドライバはかつてY-E DATAのサイトからダウンロードできましたが、2020年現在はたぶん削除されています。3.5インチ1.2MBフォーマットの読み書きはUSBタイプのFDDを使うのが手っ取り早いと思います。
OSが対応しているか
ハードウェアでフロッピーディスクのデータを読めても、OSがそのフォーマットに対応していないと、ファイルシステムを認識することができません。
以下は1.2MB (2HD) MS-DOSフォーマットの対応状況です。△は通常では対応していないものの、OS付属のツールや非公式の手順によって可能であることを示します。サードパーティーのデバイスドライバやソフトを使った場合はこの限りではありません。5.25インチFDDは少なくともWindows XPまでは使えますが、Vista以降で使われることは多分考慮されてないです。
1.2MB対応表 | 読み書き | 初期化(フォーマット) |
---|---|---|
IBM DOS J5.0/V | × | × |
PC DOS J6.1/V | △ | △ |
MS-DOS 6.2/V | △ | × |
Windows 98 | ○ | × |
Windows 2000 | ○ | ○ |
Windows XP | ○ | △ |
Windows 7 | ○ | △ |
Windows 8 | ○ | △ |
Windows 10 | ○ | × |
Windows 98では5.25インチFDDでPC98の1.2MB MS-DOSフォーマットにアクセスできました。もちろん、フォーマットは1024バイト/セクタです。特別なことは何もしていません。
ディスクのフォーマット(初期化)はPC/AT互換機が標準でサポートする360KB (2D) と1.2MB (2HC)しか選べません。FORMATコマンドも同様です。(※2HCはPC98が標準で使うフォーマットとは異なりますが、PC98のMS-DOSでも読み書きはできます。)
富士通FMRはPC98と同じフォーマットを使っていますが、先頭3バイト(ブートコードへのジャンプ命令)が標準とは異なるため、FMR以外のMS-DOSやWindowsではFMRでフォーマットしたフロッピーディスクにアクセスできなかったり、そのブートコードを破壊したりします。
→ KB405980 - 1024FD.EXEと富士通FM-Rの5.25ichフロッピーディスクについて
Windowsに3.5インチ3モードFDD対応ドライバを入れる
内蔵型3.5インチFDDの場合はマルチIOチップのFDCが3モードに対応かつそれに対応するドライバが必要です。5.25インチFDDの場合は不要です。
マルチIOチップの品番はマザーボードの仕様表で公開されていなければ、現物を確認するしかありません。ただ、Windows 98をサポートする世代のマザーボードは多くがフリーソフトの3mode FD Drivers for Windows 95/98で対応できるかと思います。こちらのページに対応可能なマルチIOチップが搭載されているか判別できるツール (ChkIO.COM) も掲載されています。
私の場合、マザーボードはASUS P2B Rev.1.02、IOチップはWinbond W83977TF、FDDはNEC FD1231T (P/N 134-506790-707-4)で、これに含まれるドライバが使用できました。BIOSのFloppy 3 Mode Supportは無効にしました。
フリーソフトでWindows 2000, XPで3モードFDDを扱えるようにするドライバがあります。先のソフトと対応するチップセットが異なりますので、事前確認が必要です。BIOSに依らず(BIOSではBドライブに対応していなくても)使えるのは便利だと思います。
→ 俺式フロッピィディスクドライバ V1.20 (orefd.lzh)
先ほど述べたUSB外付けのTEAC製3.5インチFDDでは、このセクションに書いてある設定やドライバインストールの作業は不要です。
ディスクをイメージ化する
私はプロテクトのない一般的なMS-DOSフォーマットのイメージ化にはDiskExplorer (EDITDISK) を使っています。Windows 98でもWindows 10でも同じように使えます。
- ディスクは書き込み禁止にしておきます。ウイルス対策ソフトがある場合は、フロッピードライブをリアルタイム保護から検査除外しておきます。
- EDITDISKを起動するとファイル選択画面が出るので、キャンセルをクリックします。
- メニューバーの「特殊」→「ディスクイメージ作成」をクリックします。
- ファイルの保存先、読み込み対象のドライブを決めて、サイズは「1232」を選択すれば、1.2MBフォーマットのディスクをイメージ化できます。
Windows 2000以降であれば、SAMdiskとfdrawcmd.sysいうソフトを使って特殊フォーマットのディスクをイメージ化できます。ただし、回転速度の切り替えは別途考える必要があります。私はWindows 2000以降がインストールされているFDD搭載PCを持っていないので、確認できていません。
→ D88 形式へのダンプと 書き戻し(旧型PC編) - レトロなPCとか
DOSまたはリアルモードMS-DOSでイメージ化
DiskExplorerの代替としてDOSで動作するイメージ作成ソフトとしては、FDU (Floppy Disk Utility) があります。PC/AT互換機のDOSで5.25インチ1.2MB (2HD) フォーマットのディスクにアクセスするにはJapan2HDなどのドライバが必要ですが、FDUはドライバがなくてもそれをイメージ化できます。ただし、どちらも3.5インチ3モードFDDの回転速度切り替えには対応していないので、5.25インチFDDか360RPM固定の3.5インチFDDが必要です。
特殊なフォーマットでプロテクトが掛かっているディスクやN88-日本語BASICで初期化されたディスクは、DITTを使います(昔から使われている方法)。
余談:3.5インチ3モードFDDを5.25インチFDDとして認識させて1.2MBフォーマットを読む
FDCが3モードに対応していなくでも、PC/AT互換機で3.5インチ1.2MBフォーマットを読む方法があります。最初から360RPMで動作するFDDを使い、マザーボードのBIOSでは5.25インチ1.2MB FDDとして設定・認識させればいいのです。実際、東芝J-3100の初期モデルはこのような実装だったから、3.5インチ1.2MBフォーマットが5.25インチの2HCフォーマットと同じという変な仕様になっていたんだと思います。
ただ、この方法で3モードFDDを使う場合、初期状態では300RPMで動作してしまうので、360RPMで動作するように改造する必要があります。改造方法は他のサイトで既に上がっているので省略します。1.44MBに対応する前のPC-98やJ-3100に搭載されていた2モードFDDであれば、最初から360RPMで動作しているので、そのまま使えます(注:FDDの設定変更は必要です)。360RPM固定状態では1.44MBフォーマットは使用できなくなります。
→ PC/AT Windows 機に接続の 3.5’’FDD を レトロPC 仕様に改造 - レトロなPCとか
参考サイト
- PC/AT Windows 機に接続の 3.5’’FDD を レトロPC 仕様に改造 http://tomoretropc.blogspot.com/2017/11/pcat-windows-35fdd-pc.html
- 色々な5インチFDDをAT互換機に付けてみる -- もしかしたら開発室 https://kiyoto-y.github.io/5inch.htm
- FDDのめも - IT Junk Box at October, 2010 (2010-10) http://junk.s21.xrea.com/2010/10.html#01