PC-98を仮想化する


PC-98の環境を最近のパソコン上で動かせるようにする方法の説明です (2022/9/15 新規作成)。

仮想化 / エミュレーター / BIOS / FD / 流れ / ディスクイメージ / FDイメージ化 / HDイメージ化 / CDイメージ化 / 変換 / 編集 / おまけ / 戻る / トップページ


PC-98の仮想化

PC-98(PC-9801/PC-9821シリーズ)の環境を最近のパソコン上で動かせるようにする方法を説明します。 私が実際に仮想化するために調べて実際に試した情報を書き残しています。 そのため、試せなかったことについては紹介程度に留まっていますので (伝聞表現で書いてます)、その点はご了承ください。 PC-9800シリーズ全般を対象としていますが、 EPSON機は私に知識も経験もないため (たぶん大部分の情報は適用できると思いますが)、 PC98-NXシリーズはPC/AT互換機に近い存在だと思ってますので対象外とします。
 
PC-98で使っていたフロッピーディスクや固定ディスク(ハードディスク)を ディスクイメージファイルに変換して、 現在使っているパソコンでエミュレーターアプリを起動して それらを読み込ませることで、仮想化を実現していきます。 一度環境を整えられれば、本体やディスクの故障に脅えることなく いつでも手軽にPC-98を使っていた当時の環境が再現できるようになります。
 
エミュレーターを動作させる、 現在みなさんが普段使いしているパソコン環境をここではモダンなPC、 それらで動作するWindows(NT系以降)/Mac/LinuxをモダンなOSと呼ぶことにします。

PC-98エミュレーター

まずエミュレーターとして何を使うか決めましょう。 もちろん複数使っても構いません。 いずれもエミュレーションとしての基本機能の再現性は十分あり、 サウンドなどの周辺機器の対応状況などは少し違います。 対応OSやUIの使いやすさ、今も開発が続いているかなどで決めると良いでしょう。 お勧め順にほぼ網羅しています。 私はMacがメイン環境なのでRetroArch+np2kaiを主に使い、 何か上手くいかなかった時にAnex86/T98-Next/SL9821をサブ的に使っています。
 
Neko Project II (np2、ねこープロジェクトII) [Windows(x86/x64)/Mac(Intel)]
 
ゆいネットワークサービス作成のPC-9801VX21ベース(80286相当)のエミュレーターです。 2016/3を最後に更新が止まってしまいましたが、 ソースコードが公開されていることから多くの派生版が生まれています。
 
周辺チップ等のハードウェアに強いエミュレータを目指し開発したとのこと。 仮想86モードは使えません(リアルモードのみ)。 また同ページでこっそり公開されているnp21はPC-9821(i486SX相当)のエミュレーターのようです。 BIOSイメージ(後で説明します)なしでも起動できますが、 BASICはBIOSイメージ必須です。
 
派生版の多くは特定の機能をピンポイントで追加したり、 不具合を直したものでしたが、それらをかき集めて取り込んだ上で、 独自拡張もして進化を続けているプロジェクトがいくつかあります。 それらを使うことをお勧めします。 この後紹介する3つの派生エミュレーターはいずれも大きく拡張されており 今も開発が継続しています。
 
Neko Project 21/W (np21w、ねこープロジェクト21/W) [Windows(x86/x64)]
 
SimKさん作成のNeko Project II派生エミュレーターです。
 
ニッチなハードウェアのエミュレーションやPC-98後期モデルの再現に耐えうる 改造を施したものです。 80386以降、仮想86モードにも対応しているようです。 CD-ROMのディスクイメージが使えるようになっています。
 
Neko Project II 改変 on RetroArch (np2kai) [Windows(x86/x64)/Mac(Intel/Appleシリコン)/Linux]
 
AZOさん作成のNeko Project II派生エミュレーターです。 実行バイナリは直接公開されておらず、 他のシステム上で動作する形を取っています。 ここでは最もよく使われているであろう マルチエミュレータシステムのRetroArch上で動かす方法で説明します。 RetroArchはマルチプラットフォーム対応しているので (Appleシリコン含むモダンなOS、Raspberry Pi、スマホやゲーム機まで)、 Windows以外の環境でnp2系を使いたい場合はRetroArch+np2kaiを使うのが楽です。
 
Raspberry Pi向け改良から始まっています。 21/Wの改良点を積極的に取り込んでいるため、 ほぼ同等の機能があると思って良いです。 単体で動作させたいなら21/Wを、 RetroArchで動作させたいならnp2kaiを使うのが良いのではないでしょうか (時前でビルドすればnp2kaiを単体起動することもできます)。
 
RetroArchをインストールして実行し、メニューの「コアのダウンロード」から "NEC - PC-98 (Neko Project II kai)"を 選んで組み込むことで使えるようになります。 基本的な操作はRetroArchの作法にならいます。 RetroArchは元々ゲームコンソールのエミュレーションから始まっていて、 ゲームコントローラーでの操作を中心に考えられていることと、 元々単体で動作するNeko Project IIから改造されて後付けで RetroArchに適用されたことから、操作方法にやや無理が見られるところもあります。 RetroArchの設定やkey.txtである程度カスタマイズできることと、 F12キーでメニューが出せることを憶えておくと良いでしょう。
 
Neko Project㈼ fmgen版 (np2fmgen) [Windows(x86)]
 
ねねっちさん作成のNeko Project II派生エミュレーターです。
 
ゲームソフトの再現性に重点が置かれているようです。 fmgenとは 有名なFM音源エンジンのことで、 これを取り込むことでFM音源の再現性が向上しています (他の派生エミュレーターもfmgenを搭載しています)。
 
Anex86 [Windows(x86)] (再配布ページ)
 
A.N.さん作成のEPSONのPC-286/386/486/586(PC-9801互換機)のエミュレータです。 一次配布元が消失しており今後の改良も期待出来ませんが、 安定性が高くて高速のため未だに人気のエミュレーターです。
 
他のエミュレーターでは必要なBIOSイメージ(後で説明します) なしで起動できますが、 そのためにROM-BASIC/DISK-BASICは使えないようです。 MIDI再生も可能だそうです。
 
98互換機のエミュレーターなので、 NEC製のソフトウェア(MS-DOSなど)が起動しないようにする いわゆるエプソンチェック(EPSONプロテクト)も エミュレートされてしまいます。 当時と同様の回避策も使えますが、ディスクイメージに手を加えることになるので 当時NEC純正のPC-98を使っていた方のメインの仮想化環境として使うのは 避けた方が無難かと思います。
 
T98 [Windows(x86)]
 
YUKIさん作成のPC9801エミュレーターです。 開発終了しており、後継のT98-Nextの利用が勧められています。
 
T98-Next [Windows(x86)]
 
YUKIさん達作成のPC9821/PC9801エミュレーター(80486相当)です。 作者さん達がお忙しいようで、2011年頃から停滞しています。
 
BIOSイメージ(後で説明します)なしでも起動でき(BASICはBIOSイメージ必須)、 エミュレーターを起動しているパソコンのフロッピーディスクドライブを エミュレーター内のフロッピーディスクドライブとして使えますが、 Windows7頃から書き込み・フォーマットができなくなっているようです。 MIDI再生も可能だそうです。
 
SL9821 [Windows(x86/x64)/Mac(Intel)]
 
satotomiさん作成の初代PC-9821エミュレーターです。 2016/8に公開された、最も若いエミュレーターです。 2021年頃からは細かいバグフィックスされたのみで、2021/5を最後に 開発は停滞しているようです。
 
エミュレーターを起動しているパソコンのフロッピーディスクドライブを エミュレーター内のフロッピーディスクドライブとして使えます。
 
QEMU/9821 ePC-9801VMなど [Windows]
 
TAKEDA, toshiyaさん作成のPC9821/PC9801エミュレーターです。 QEMU/9821はPC-9801BX4、ePC-9801VMはその名の通りPC-9801VMの、といったように特定の機種毎にエミュレーターがあります。
 
それぞれ特定機種の実機のBIOSイメージが必須で、 作者さんの趣味活動の成果物といった側面が強いため、 我々の使用目的には向かないと思います。
 
Virtual98 [Windows]
 
PC9801エミュレーター(80386相当)です。 一次配布元が消失しており、詳しいことは分かりません。
 
PC98E [Windows/Linux]
 
T.Okanoさん作成のPC-98x1エミュレーターです。 一次配布元が消失しており、詳しいことは分かりません。

BIOSの吸い出し

どのエミュレーターも実行するためには、 原則的にはBIOSイメージが必要になります。 ROMに焼かれているBIOSは ハードウェアを制御する低レベルAPIやROM-BASICの実行環境が入っていますが、 NECの著作権物のためエミュレーター作者がコピーするわけにはいきません。 PC-98実機の所有権を持っている個々人が バックアップとして吸い出す必要があります。 フォントイメージも同様です。
 
ただし、同等の機能を有するプログラムを独自で実装することは問題ないため、 そのような独自実装BIOSを持っている(BIOSイメージがない時に自動で使われる) エミュレーターもあります。 Neko Project II系/T98-NextのBIOS、SL9821のハードウェア制御系のBIOS、 Neko Project II系/T98-Next/Anex86のフォントがこれに相当します。 Anex86は元々BIOSイメージは不要です。
 
また一方で、独自実装BIOSにはいずれもBASIC実行環境が入っておらず、 BIOSイメージなしではROM-BASIC/DISK-BASICは使えません。 純正のBIOSではないので実質的に98互換機扱いとなり、 NEC製MS-DOS 3.3D~5.0Aでいわゆるエプソンチェックに引っかかってしまい 起動しないことがあります。 このことを考えると、本格的に当時の環境をエミュレーターに持ってきて 実行するにはやはりBIOSイメージの用意は必要になると思います。
 
BIOSイメージはエミュレーターごとに必要とされる形式が違うため (一部共有できるものもあるにはありますが)、 使う予定のあるエミュレーターそれぞれ用に作成しておくことをお勧めします (こちらのページのまとめが有用です)。 当然ながらPC-98実機でツールを実行する必要があるため、 PC-98実機がLANに繋がる環境なら問題ないのですが、そうでない場合は モダンなPCでツールをダウンロードしてフロッピーディスクに書き込み、 実機でツールを実行してその結果をフロッピーディスクに入れて、 モダンなPCに持ってくる流れが必要になります。 余計なものを入れなければ、どれもツール実行ファイルと 出力されたBIOSイメージは1.25MBのフロッピーディスク1枚に収まります。
 
いずれの場合もROMの一部が見えなくなっていると吸い出せません。 HELPキーを押しながら起動してシステムセットアップメニュー (ソフトウェアディップスイッチ)で 「固定ディスク」「サウンド」「SCSI ROM」「ROM BASIC」などがある場合は それぞれを「使用する」に設定しておきましょう。 機種によってはハードウェアディップスイッチで同等の切り離し設定が できるようになっているので、デフォルトから変更している場合は 「使用する」相当に直しましょう。 これらの設定をしたら起動しなくなったなどの問題が起きたら、 拡張ボードとバッティングしてる可能性がありますので、外してみましょう。 また、EMMが有効になっていてもBIOSが隠れてしまうため、 余計なドライバを読み込まない設定になっているディスクから起動するか、 SHIFTキーを押しながら(UMB/EMMを使わないモード)で起動する必要があります。 吸い出しツールのみを入れた、BIOS吸い出し専用のフロッピーディスクを 作っておくのが無難ですね。
 
Neko Project II系のBIOSイメージ
 
こちらから np2_getbios.zip, np2_makefont.zipをダウンロードして、中の GETBIOS.COM, MAKEFONT.EXEを使います。 実機でこれらのEXEを実行するだけで自動で必要なイメージが吸い出されます。 np2.exeなどの実行ファイルの隣に生成されたBIOSイメージを置いて使いますが、 派生版では置き場所が変更されていることがありますので注意が必要です。
 
RetroArch上で動作させるnp2kaiでは、 RetroArchのデータ置き場にBIOSデータを置く必要があります。 RetroArchの設定メニューのDirectory→System/BIOSで表示されているフォルダの下に"np2kai"フォルダを新規作成して、その下に置きます。
 
Anex86のフォントイメージ
 
Anex86はWindowsのフォントを自動で使いますが、 実機と違うフォントになってしまうため、見栄え上違和感を感じると思います。 Anex86を起動して「Config」→「Font」→「file name」で.bmp画像を指定すると フォントを差し替えられるため、 実機からその画像を生成する別の作者さんが作ったツールが存在します。 VacuumFont98(VFONT.EXE)、 anex86のフォントを作る助っ人プログラム(mkanbmp121.lzh)、 などが有名ですが、 いずれも一次配布元が消えており、入手が困難です。 ですが、実はNeko Project II用のツールで生成される FONT.BMPが互換性のある形式になっていますので、 上記np2_makefont.zip内のMAKEFONT.EXEでFONT.BMPを作って利用できます。
 
T98-NextのBIOSイメージ
 
こちらから ntool007.lzhをダウンロードして、中の ROMMAKE.EXEを使います。 実機でこれらのEXEを実行するだけで自動で必要なイメージが吸い出されます。 Next.EXEの隣にROMフォルダを作って その中に生成されたBIOSイメージを置いて使います。
 
SL9821のBIOSイメージ
 
こちらから forPC-98_*.zipをダウンロードして、中の MKROMIMG.EXE, RECRTM.EXEを使います。 実機でこれらのEXEを実行するだけで自動で必要なイメージが吸い出されます。 sl9821.exeの隣にあるROMフォルダに生成されたBIOSイメージを置いて使います。

フロッピーディスクの種類

まずはフロッピーディスクの種類を把握しておきましょう。 セクタ・トラック・シリンダはディスク上の記録位置を示す時に使う単位で、 これ自体を憶える必要は基本ありませんが、 2HD/2DDかだけでなくOSやPC-98用かPC/AT互換機互換用かで割り振り方が 変わっていることは認識しておく必要があります。 環境やツールによってこれらのうち一部しか扱えないことがあるためです。 他にCP/M,OS/2や8インチディスクなどもあるはずですが、 実物に触れたことがなく詳細不明です。 なお、ファイルシステムはどの種類であってもFAT (DISK-BASICはFAT8、MS-DOSはFAT12)のはずです。
 
フロッピーディスクの種類
種類
(DISK-BASIC≒N88-日本語BASIC(86))
容量 バイト数/セクタ セクタ数/トラック トラック(シリンダ)数/面 面数 規格 回転数
(※2HD/2DD自動切替ドライブの場合)
5インチ 2DD (PC-98 DISK-BASIC) 640KB 256 16 80 2 両面倍密度倍トラック 300rpm(※360rpm)
5/3.5インチ 2DD (PC-98 MS-DOS) 640KB 512 8 80 2 両面倍密度倍トラック 300rpm(※360rpm)
5/3.5インチ 2DD (PC/AT互換機 MS-DOS) 720KB 512 9 80 2 両面倍密度倍トラック 300rpm(※360rpm)
5/3.5インチ 2HD (PC-98 DISK-BASIC) 1MB 256(トラック0表は単密度で128) 26 77 2 両面高密度(倍トラック) 360rpm
5/3.5インチ 2HD (PC/AT互換機 MS-DOS) 1.2MB 512 15 80 2 両面高密度(倍トラック) 360rpm
5/3.5インチ 2HD (PC-98 MS-DOS) 1.25MB 1024 8 77 2 両面高密度(倍トラック) 360rpm
3.5インチ 2HD (PC/AT互換機 MS-DOS) 1.44MB 512 18 80 2 両面高密度(倍トラック) 300rpm
 
PC-9801シリーズのディスクはNECが、PC/AT互換機のディスクはIBMが、 それぞれ歴史的経緯や過去の資産との互換性を元に仕様を決めており、 上記のように違う仕様になっています。 その後、PC-9821シリーズでは両方の仕様に対応するようになり、 日本を含めて世界的にPC/AT互換機の後継が普及していったため、 PC-9800シリーズのディスクの仕様は使われなくなっていきました。 このため、モダンなPCで上記のディスク全ては読めなくなっており、 一部はPC-98実機でディスクイメージ化して モダンなPCに持ってくる必要が出てきます。 さらに古い機種だと当然新しい仕様には対応出来ていないため、 使い分けを考えていく必要もあります。
 
以後は容量(+OS名)でディスクの種類を区別して書くようにします。 1.25MB(PC-98 MS-DOS 2HD)は本来は1.232×1000×1024byteで 厳密には1.26MB(1.20MiB)なのですが、 PC-98版MS-DOSのFORMATコマンドが1.25MBと表現していて、 そのように呼ばれることが多いのでこれにあわせます。 1.23MBや1.2MBと呼ぶ方も居ますが紛らわしいのでここでは1.25MBで統一します。 同じように1.44MB(PC/AT互換機 MS-DOS 2HD)も本来は1.44×1000×1024byteで 厳密には1.47MB(1.41MiB)なのですが、1.44MBと通常呼ばれます。
 
また、720KBのディスクと1.2MBのディスクはPC-9821で扱えますが、 PC-98用にわざわざPC/AT互換機専用の古い仕様のディスクを使っていた方は いないと思いますので(いたとしても当時のPC/AT互換機を使って読めば良いので)、 以後は基本除外して考えます。 と言いつつも少しだけ説明しますが、 ディスクドライブの仕様としてハードウェアとしては 640KBが読めるなら720KBも、1.25MBが読めるなら1.2MBも読め、逆も然りです。
 
ゲームソフトのディスクフォーマット
 
ゲームソフトのディスクは通常プロテクトが掛けられており、 例え自分のバックアップのためであってもプロテクトを外す行為は 著作権法違反になります(当時は私的複製であれば大丈夫でしたが、 現在は改正されていてだめになっています)。 そのため、ここではプロテクトのかかったゲームソフトについては扱いません。
 
ただ、セーブデータが保存されているディスクはプロテクトが かかっていないことがほとんどで、 セーブディスクのディスクイメージ化は問題ないはずです。 ディスクイメージ化ツールは(エミュレーター用のもの以外は)ディスクへの 書き戻し機能も通常持っていますので、 セーブディスクをバックアップすることに使えます。 自分でディスクを用意させるゲームならそのディスクが、 それ以外ならライトプロテクトがかかっていない (5インチなら右上に切り込みがある、 3.5インチなら左下の穴にスライドがあって穴埋め状態になっている) ディスクがセーブディスクです。
 
ゲームソフトのディスクはPC-98の初期の頃はDISK-BASIC、中期以降は MS-DOSかMS-DOS互換の独自OS(MEG-DOSなど)であることが多く、 通常のディスクと同じように扱えます。 ただし、プロテクトの一種にトラック数等を変える手段があり、 ディスクの仕様上は上の表の値よりも数個増やしても大丈夫なので 容量を増やすことも可能で、セーブディスクまでそのような仕様になっている ゲームがまれではありますが、存在します。 その場合は特殊な総トラック数を自動判別または指定できる ディスクイメージ化ツールを使えばバックアップ可能です。

ディスクイメージ化の流れ

ディスクイメージ化ツールはPC-98実機用のもモダンなOS用のもあります。 ですが、ディスクドライブやOSによって扱えるディスクの種類が違うため、 どの環境でディスクイメージ化するのかを考える必要があります。
 
ディスクドライブの対応状況
 
PC-9801F/U/VFの内蔵ドライブは2DD専用で640KBのディスクのみが読めます。 PC-9801Mの内蔵ドライブは2HD専用で1MB/1.25MBのディスクのみが読めます。 PC-9801VM以降は2HD/2DD自動切り替えなので640KB/1MB/1.25MBのディスクが、 PC-9821シリーズではそれに加えて1.44MBのディスクも読めます。 なおディップスイッチで自動切り替えをやめて2HD/2DDいずれかに固定できますので、 変更している人はまれでしょうがディスクイメージ化の際には気をつけて下さい。 外付けドライブの場合はこのどれかのパターンになるはずなので、 説明書を見て見極めてください。 スイッチで手動で種類を切り替えるドライブや 1MB(トラック0の単密度)に対応していないドライブもあります。
 
PC/AT互換機やモダンなPCでは、 ディスクドライブは640KB/1.44MBのディスクのみが読めます。 3モード対応を謳っているドライブでは640KB/1.25MB/1.44MBのディスクが読めます。 1MBのディスクはおそらくトラック0の特殊仕様のために (そして日本固有の仕様なので)対応していないのだと思います。 なお、海外では違う種類のディスクドライブを 3 modeと呼んでいたことがあるので、注意して下さい。
 
OSの対応状況
 
PC-98・PC/AT互換機とも、 MS-DOS/非NT系列のWindows(95/98/Me)/DISK-BASICの時代は プログラムがBIOSを直接操作して ディスクドライブのハードウェアでできることは全て操作が可能でした。 ですので、ツールの実装次第ではあるものの、制限はありません。
 
一方モダンなOSでは、APIを介してアクセスするため、 OSがサポートしている種類のディスクしか読めません。 つまりDISK-BASICや特殊フォーマットをしているゲームのディスクが OSの制限によってイメージ化できません (※この理解が正確かあまり自信がないのですが、 少なくともDISK-BASIC等のディスクを扱えるツールを 私は見たことがありません)。 どのOSも640KB/1.44MBは最低限対応していて、 対応ドライバがあれば1.25MBも扱えるようです (USB接続のフロッピーディスクドライブではドライバ不要なことが多いです)。
 
ディスクイメージ化の流れ
 
以上を踏まえて、どこでディスクイメージ化をして どうやってモダンなPCに持っていくのかを考えます。 仮想化したいPC-98の機種や周辺機器、移行先のモダンなPCの環境によって やり方は変わってくるので、誰でもこうすれば良いと言えませんが、 おおよそよくあるパターンを説明していきます。
 
まず、モダンなPCにフロッピーディスクドライブがついているなら、 640KB/1.44MBのMS-DOSディスクはイメージ化できますし、 ファイルも直接読み書きできます。 3モード対応なら1.25MBも扱えます。 問題はディスクドライブがない場合や、モダンなPCでは扱えない DISK-BASICや特殊フォーマットのゲームソフトのセーブディスク、 5インチディスクです。 これらはPC-98実機でディスクイメージ化することになります。
 
ディスクイメージファイルをどこに出力するか問題
 
ディスクイメージはそのフロッピーディスク1枚分の情報量があるため、 フロッピーディスク1枚に収まらないサイズになりえます。 圧縮機能がある形式もありますが、 特殊なディスク用の解析をすると数倍になる形式もありますので、 原則溢れる前提でいましょう。
 
そうなるとイメージ化したファイルの一時置き場が必要ですが、 固定ディスク(HDD)がある機種ならそこに、 ない場合はRAMDISKを作ってそこに置くのが良いでしょう。 RAMDISKも作れないメモリしか搭載していない機種では、 ファイルサイズが小さいか圧縮もしてくれるディスクイメージ化ツールで 直接別のフロッピーディスクに出力させるしかないですが、 ドライブが1台しかない時は増設なりなんなりの手段を検討しましょう。
 
ディスクイメージファイルをどうやって運ぶか問題
 
一時置き場に置いたディスクイメージファイルを モダンなPCにどうやって運ぶのかの検討も必要です。
 
PC-98がLANに繋がっている環境なら、普通にそれを使えばいけますね。 RS-232Cケーブルでシリアル通信できる環境が作れるならそれでもOKです。 モダンなPCにフロッピーディスクドライブがついているなら、 運搬用のフロッピーディスクを用意して、これ経由で運びましょう。 PC-9801シリーズなら1.25MB、PC-9821シリーズなら1.44MBのディスクで運びます。 気をつけないといけないのは、ファイルサイズが1枚の容量を 越えてる可能性が高いので、 PC-98上で圧縮なり分割なりして、 モダンなPCでそれを解凍・結合することが必要な点です。 LHAで圧縮して、.lzhに対応したツールで解凍するなど、 両方で対応出来る方法を選ばなければいけません。
 
PC-98がLAN接続もシリアル接続もできず、 モダンなPCにフロッピーディスクドライブもない時は 増設なりなんなりの手段を検討しましょう。 5インチディスクの場合、PC-98実機側に3.5インチのドライブもついていないと フロッピーディスク経由も難しいので、この場合も増設なりの検討が必要です。
 
ディスクイメージ化ツールをどこに置くか問題
 
ディスクイメージ化している間は当然そのディスクがドライブを1台埋めるため、 ディスクドライブが1台しかない環境ではディスクイメージ化ツールを どこに置くかも考慮が必要です。
 
これも固定ディスク(HDD)がある機種ならそこに、 ない場合はRAMDISKを作ってそこに置くのが良いでしょう。 実行直後にディスク入れ替えのタイミングを作ってくれるツールもありますので、 入れ替えが手間ではありますが、それを使うのも手です。
 
諸問題を解決する別の手段
 
このように色々越えないといけない問題がありますが、 他の手法として、ディスクドライブを搭載している古めのPC/AT互換機があるなら、 その機種でMS-DOSで起動する手が使えます。 PC/AT互換機のMS-DOSに対応しているディスクイメージ化ツールを使えば PC-98実機と同じ種類のディスクが扱えますし、 HDDやLAN・USBが付いているでしょうから(付け足すことも簡単)、 保存先やファイルの転送方法に悩まずに済みます。
 
モダンなPCにフロッピーディスクドライブがないことに起因する 問題があるだけなら、USB接続の3モード対応ドライブを買うことをお勧めします。 今でもデッドストック品やノーブランド品、 オークションで中古が数千円台で入手可能です。
 
最後に私はどうしたか書き残しておきます。 5インチ2HD/2DD自動判定ドライブ内蔵のPC-9801機が外付け3.5インチドライブ付きで、 3.5インチドライブ1基内蔵のPC-9821機(固定ディスク故障中)を持っていて、Mac環境へディスクイメージを持っていく状況でした。 3.5インチの1.25MBフォーマットで RAMDISKのドライバとディスクイメージ化ツールを詰め込んだ起動ディスクと、 データ運搬用の空ディスクを用意しました。 5インチはPC-9801機で、3.5インチはPC-9821機で、 このディスクで起動してRAMDISKにツールをコピーしてそこを作業環境に、 ディスクイメージ化してLHAで圧縮して運搬用ディスクにコピーして運びました。

ディスクイメージの形式

ディスクイメージファイルは非常に種類が多くあります。 エミュレーターごとに、ディスクイメージ化ツールごとに それぞれ独自形式を作っていることがほとんどです。
 
エミュレーター公式のディスクイメージの形式
フロッピーディスクイメージ ハードディスクイメージ
PC-98のエミュレーター Anex86 .fdi .hdi
T98 .tfd (べたイメージ) .thd
T98-Next .nfd (r0とr1の2バージョンあり) .nhd
SL9821 .slf (べたイメージ) .slh
Virtual98 .fdd .hdd
他機種のエミュレーター P88SR (PC-8801) .d88
EX68 (X68000) .xdf (べたイメージ) .hdf
モダンなOSのエミュレーター Windows Virtual PC, Hyper-V .vfd (べたイメージ) .vhd
VMware .flp (べたイメージ) .vmdk
VirtualBox (べたイメージ) .vdi
QEMU .qcow, .qcow2
 
ディスクイメージ化ツール由来の形式
フロッピーディスクイメージ
BKDSK .hdm, .hd4, .hd5, .hd9, .dd6, .dd9, .hdb, .ddb, .h01 (全てべたイメージ)
MAHALITO .2hd, .2dd, .2d
DCP .dcp
Disk Copy Utility .dcu
由来不明の形式 .bin (べたイメージ), .dup (べたイメージ)
 
エミュレーターが対応しているその他の形式
ディスクイメージ
CD-ROMのイメージ .iso, .cue, .ccd, .cdm, .mds, .nrg
 
変換ツールもありますし、 エミュレーター側が多くの形式に対応していることが多いので、 あまり特定のディスクイメージ形式にすることにこだわる必要はありませんが、 あまりマイナーなディスクイメージだと変換ツール探しに苦労します。 イメージ化したいフロッピーディスクの種類やエラー対応の強さなどから ディスクイメージイメージ化ツールを選び、 使いたいエミュレーターがその出力形式に対応していない時は 変換ツールを探すのが良いと思います。
 
エミュレーターの対応ディスクイメージ
.fdi .hdi .tfd .thd .nfd .nhd .slf .slh .fdd .hdd .d88 べた その他の明示されている対応形式
Neko Project II .d98, .98d, .88d, .xdf, .hdm, .dup, .2hd
Neko Project 21/W ○(r1) .d98, .98d, .88d, .xdf, .vhd, .flp, .hdm, .hd4, .hd5, .hd9, .dd6, .dd9, .hdb, .ddb, .h01, .dup, .2hd, .bin, .dcp, .dcu, .iso, .cue, .ccd, .cdm, .mds, .nrg
RetroArch+np2kai .d98, .98d, .88d, .xdf, .hdm, .dup, .2hd, .iso, .cue, .ccd, .cdm, .mds, .nrg
np2fmgen ○(r1) .d98, .98d, .88d, .xdf, .hdm, .hd4, .hd5, .dd6, .dd9, .hdb, .ddb, .dup, .2hd, .iso, .cue, .ccd, .cdm, .mds, .nrg
Anex86
T98-Next .d98, .xdf, .dup, .hdm, .hd4, .hd5, .hd9, .dd6, .dd9, .hdb, .ddb, .h01
SL9821 .bin, .iso
◎=そのエミュレーター公式の形式  ○=公式ドキュメント・ファイル選択ダイアログで明示されている対応形式  △=実は読める形式
 
Neko Project IIは独自形式を作らず 既存の他のエミュレーターの形式に対応する方針のようです。 SL9821は専用形式のみで、 それ以外には今後も対応されないことが 宣言されています。 各エミュレーターで使われているデータフォーマットは それぞれの作者が自身の利便性のために設計したものであり、 他者がその利便性のためだけに勝手に流用すべきではないとの考えからだそうです。
 
べたイメージ (一般ディスクイメージ)
 
べたイメージはフロッピーディスクのセクタを 順番に書き出しただけの単純な形式で、 拡張子はばらばらなものの(.tfd, .slf, .xdf, .vfd, .flp, .hdm, .img など) よく使われている形式です。 ファイルサイズが 1.25MBディスクだと1,261,568バイト、 1.44MBディスクだと1,474,560バイトになります。
 
べたイメージではファイルサイズからディスクの種類 (2HD/2DDかや総トラック数など) を推定することになるため、 エミュレーターやツールが想定していないサイズだと正しく対応出来ません。 このため640KBのDISK-BASIC(2DD)のべたイメージは どのエミュレーターでも同じファイルサイズのMS-DOSのディスクとして扱おうとして 正常に読み込めないようです。 1MBのDISK-BASIC(2HD)は固有のファイルサイズですが トラック0の特殊仕様もあるので、 DISK-BASICのディスクイメージはべたイメージ以外を使うのが無難です (この後説明する.d88形式がお勧めです)。 またゲームのセーブディスクなどでトラック数などが特殊なディスクは べたイメージでは表現できません。
 
べたイメージ形式は拡張子が違っても実体は同じため、 ファイルの拡張子を変更するだけで相互変換できます。 macOSではMS-DOSのディスクイメージの拡張子をimgにすれば、 OSの機能としてダブルクリックでマウントして中身にアクセスできます。
 
.d88形式
 
.d88形式はぶるーさん作成のPC-8801のエミュレーター(PC-98上で動作する)であるP88SR用のディスクイメージ形式です。 当時デファクトスタンダード化していたようで対応ツールが豊富にあり、 PC-98用を含めた多くのエミュレーターやディスクイメージツールで使われています。
 
べたイメージと比べてライトプロテクトや密度・ディスク名などの 情報も保持しているため、 情報量が多いディスクイメージとしてお勧めです。 また.d88は複数のディスクイメージを1つのファイルにまとめられますが、 それには対応していないエミュレーター・ツールもありますのでご注意を。
 
.d98形式は.d88の拡張子違いで中身は一緒です (Neko Project IIのプログラムソースで確認)。.98d, .88dも同様です。 一部のエミュレーターしか対応していませんが、 特にRetroArchでは拡張子で起動するエミュレーターが選ばれるので PC-8801用のディスクイメージと区別するのに使えます。

フロッピーディスクのディスクイメージ化

フロッピーディスクをディスクイメージ化するツールは多くでているので、 ここでは有名どころを紹介します。 MS-DOSのディスクイメージ化ツールは元々バックアップ目的で作られているので、 書き戻しもできる場合がほとんどです。
 
私の場合は、ディスクの種類が明示されるP.D.Pをまずは使って、 読み取り途中でエラーがでるディスク(磁性体の劣化や傷で一部が破損している)や 種類が判定できなかったディスク(頭が破損しているか特殊フォーマット)と 分かったらMAHALITOと-r1dオプション付きNFDMAKEで救出を試みる流れで 使っていました。 MS-DOSのデータディスクだと事前にはっきりしている場合はWindows環境で Virtual Floppy Image Converterも使ってます。
 
自分の操作ミスやツールの不具合、ウイルス対策ソフトや モダンなOSでは勝手に隠しファイルを作ることが 問題を引き起こす可能性もあるので、 ディスクイメージ化したいディスクは必ずライトプロテクトして使いましょう。 5インチディスクなら右上の切り込みにシールを貼れば、 3.5インチなら左下の穴のスライドをずらして穴あき状態にすれば ライトプロテクト状態です。 またMS-DOSで動作するディスクイメージ化ツールの多くが カレントディレクトリに出力するようになっていますので (ファイル名指定はできてもパス指定はできない)、注意して下さい。
 
フロッピーディスクの磁気面にはカビが生えることがあります。 カビが生えたままのフロッピーディスクを読み取らせようとすると、 データが読めませんでしただけは済まず、 ディスクドライブのヘッダーを汚して壊してしまったり、 それ以降に入れた他のフロッピーディスクまで傷つけてしまいます。 読み取り前に必ず磁気面のカビの有無を確認し、 ある場合は除去してから使いましょう。 カビの落とし方はおまけの項で少し説明しています。
 
MAHALITO [MS-DOS(PC-98)]
 
ディスクイメージ化ツールとしてよく名前が挙がるツールです。 ファイル実体の.datとフォーマット情報ファイルの.2hd, .2dd, .2dの 2種類セットの形をとる独自形式にイメージ化しますが、 .datはべたイメージです。 .datは同じ拡張子を使ったツールを他にも見かけますが、 被ってしまっているだけで別フォーマットですのでご注意を。 この独自形式に対応しているエミュレーターやツールが時々見受けられます。 DISK-BASICやCP/M、 2DD/2Dディスクやある程度の特殊フォーマットのディスクもイメージ化できます。
 
次のようなコマンドでイメージ化させます。 デフォルトで2HDディスクとして読み込むため、 2DDディスクならオプション-2DDを、 2Dディスクならオプション-2Dを指定する必要があります。 オプションに-Cを指定すると、エラーがあっても処理を継続します。 またMAHALITO.EXEの隣にLHA.EXEを置いて -Pオプションを付けるとディスクイメージをlha圧縮してくれます。
    MAHALITO a ドライブ名: パス名
出力ファイルが独自形式なので取り回しやすくするために ディスクイメージ化したらすぐにその場で DILTOで.d88形式に 変換しておくと便利です。
    DILTO ファイル名
またMOGREFで .d88形式からフォーマット情報ファイルを作れるので 書き戻しをする際にはこれを憶えておくと助かります。
 
BKDSK [MS-DOS(PC-98)]
 
かつてNIFTY-Serveなどで配布されていたディスクイメージ化ツールのようです。 フロッピーディスクの種類によって .hdm, .hd4, .hd5, .hd9, .dd6, .dd9, .hdb, .ddb, .h01の 独自形式にイメージ化しますが、いずれもべたイメージです。 また.dcp形式での出力も可能です。 この独自形式に対応しているエミュレーターやツールを時々見かけるので 当時はメジャーなツールだったようです。 2DDディスクやDISK-BASICのディスクもイメージ化できます。
 
次のようなコマンドでイメージ化させます。 拡張子なしでファイル名を指定すると種類を自動判定されるようです。 拡張子を付けるかオプション/o=拡張子名で 種類を指定することもできます。 拡張子とフロッピーディスクの種類の対応は引数なしで実行すると 表示されるヘルプで確認できます。
    bkdsk ドライブ名: ファイル名
保存先ディスクの容量が溢れた時、 エラーを出さず中途半端なサイズのファイルを残してしまうようなので、ご注意を。
 
DSKシステム(PC98版) DSKSTR [MS-DOS(PC-98)] (再配布ページ)
 
NIFTY-Serveなどで配布されていた X68000/PC9801用DSKシステムの中にあるディスクイメージ化ツールのようです。 独自の.dsk形式にイメージ化します。 同じ拡張子を使ったツールを他にも見かけますが、 被ってしまっているだけで別フォーマットですのでご注意を。 2DD/2Dディスクもイメージ化できます。
 
次のようなコマンドでイメージ化させます。 ドライブ番号は1から始まります。 ディスクタイプは-2dd, -2hd(1.25MB), -144(1.44MB), -2dのいずれかを指定します。
    DSKSTR ディスクタイプ ファイル名.dsk -dドライブ番号
.dsk形式で出力されるので、同梱のDSKMNGでべたイメージに変換します。
    DSKMNG -m1 -w1 -kdi ファイル名.dsk -o ファイル名.tfd
別で配布されていたDSK2E88で.d88形式に変換することもできますが、 こちらも配布終了しており、再配布元を見つけられませんでした。
 
DCP [MS-DOS(PC-98)]
 
DISKCOPYを機能拡張したツールで、 その中間保存先として独自の.dcp形式にイメージ化できます。 この独自形式に対応しているエミュレーターやツールが時々見受けられます。
次のようなコマンドでイメージ化させます。
    dcp ドライブ名: パス名.dcp
Disk Copy Utility (DCU) [MS-DOS(PC-98/PC/AT互換機)]
 
こちらもディスク間のコピー用のツールで、 中間保存先として独自の.dcu形式またはべたイメージにイメージ化できます。 この独自形式に対応しているエミュレーターやツールが時々見受けられます。 DISK-BASICのディスクには対応していません。
 
次のようなコマンドでイメージ化させます。 ドライブ番号はPC-98の時は1から、PC/AT互換機の時は0から始まります。 オプションに/Pを指定すると、べたイメージが作れます。
    DCU ドライブ番号,@パス名.dcu
NFDMAKE [MS-DOS(PC-98)]
 
T98-Next公式のツールで、T98-NEXT TOOLに含まれています。 .nfd形式にイメージ化します。 DISK-BASICのディスクもイメージ化できます。
 
次のようなコマンドでイメージ化させます。 ドライブ番号は0から始まります。 .nfd形式にはr0,r1の2つのバージョンがあり、 特に指定しないと新しいr1バージョンで出力されます。 r0バージョンにしたい時はオプションに-r0を指定します。
    NFDMAKE ドライブ番号 ファイル名.NFD
オプションに-r1dを付けると より詳細な解析をしてイメージ化します。 イメージファイルが3.2MBになりますが、一部が破損しているディスクや 特殊フォーマットをしているディスクもイメージ化できる可能性が上がります。 通常のイメージ化の時も含めて.nfdファイルは肥大化する傾向にあるため、 このツールを使う時はファイルの圧縮・分割ツールも 同時に準備しておくと良いです。
 
make_hd [MS-DOS(PC-98)]
 
.d88形式の産みの親であるP88SRに付属しているディスクイメージ化ツールで、 PC-98のフロッピーディスクにも使えます。 .d88形式でイメージ化するならこのツールが確実なのですが、 一次配布元ページが閉じられていて再配布も禁止されていますので、 ここではそのようなツールがあったとの紹介のみとさせて頂きます。 2DD/2Dディスクもイメージ化できます。
 
次のようなコマンドでイメージ化させます。 2DDの場合のみオプションの-hの代わりに-dを指定します。 そうしないと2Dとして読んでしまいます。 またオプション-r 試行回数でエラー時の試行回数を指定できます。
    make_hd ドライブ名: -h -f ファイル名.d88
P.D.P. [MS-DOS(PC-98/PC/AT互換機)]
 
PC-98でもPC/AT互換機でも使えるディスクイメージ化ツールです。 べたイメージ形式でイメージ化します。 DISK-BASICのディスクもイメージ化できます。
 
次のようなコマンドでイメージ化させます。 出力ファイルはべたイメージになりますので、 拡張子は.tfdなどにしておきましょう。 フロッピーディスクの種類を判定してそれで正しいか確認され、 問題なければイメージ化が実行されます。 DISK-BASICのディスクはOASYSと一度誤判定されるのでnを入力すると 次にN88-BASICと判定されます。
    PDP c ドライブ名: ファイル名.tfd
拡張子.ctlの管理ファイルも生成されます。 このファイルは書き戻すときなどに使います。
 
Ditt! [MS-DOS(PC/AT互換機)]
 
PC-8801のエミュレーターであるM88用のディスクイメージ化ツールですが、 PC-98のフロッピーディスクにも使えます。 PC/AT互換機で使うディスクイメージ化ツールとして まっさきに取り上げられることが多いツールです。 .d88形式にイメージ化します。 USB接続の外付けドライブでは動作しません。 非NT系列のWindows(95/98/Me)でも実行出来ますが、 まれにセクタを読みこぼすことがあるらしいので避けた方が無難です。 2DD/2Dディスクもイメージ化できるそうです。
 
次のようなコマンドでイメージ化させます。
    ditt r ドライブ名: ファイル名.d88
Anex86を利用 [Windows]
 
Anex86のエミュレーターを起動しているパソコンの フロッピーディスクドライブを使う機能を利用して、 ディスクイメージ化ができます。 .fdi形式にイメージ化します。
 
Anex86を起動してFDDの「New」ボタンを押してダイアログを出したら、 「File name」に作成するイメージファイル名、 「drive」にフロッピーディスクドライブを指定して 「Scan」ボタンを押せば.fdiファイルが生成されます。
 
T98-Nextを利用 [Windows]
 
T98-Nextのエミュレーターを起動しているパソコンの フロッピーディスクドライブを使う機能を利用して、 ディスクイメージ化ができます。 .nfd形式にイメージ化します。
 
T98-Nextを起動してFD DRIVEの「New」ボタンを押してダイアログを出したら、 「FDをイメージに変換」に✔を入れて フロッピーディスクドライブと容量(選択肢の1.23MBが1.25MBのこと)を 選択して「START」ボタンを押してファイル名を入力すれば .nfdファイルが生成されます。 NFDMAKEとは違い、こちらの方法ではr0バージョンでイメージ化されるようです。
 
fd2bin [Windows]
 
SL9821公式のディスクイメージ化ツールです。 .slf形式にイメージ化します。
 
次のようなコマンドでイメージ化させます。 オプションに/forceを追加すると 読み出しに失敗したセクタをダミーデータにして完遂します。
    fd2bin ドライブ名: ファイル名.slf
同梱のbin2fdコマンドで書き戻しもできます。
 
ディスク イマージュ [Windows]
 
Neko Project IIで紹介されているGUIディスクイメージ化ツールです。 べたイメージ形式でイメージ化します。
 
ドロップダウンメニューでディスクドライブと 種類(640KB/1.25MB/1.44MB)を選び、 「FD→HD」ボタンを押してファイル名を入力するとイメージ化できます。 べたイメージなので拡張子は.tfdなどにしておくことをお勧めします。
 
SAMdisk [Windows]
 
専用のデバイスドライバーを介してディスクを読み取る ディスクイメージ化ツールです。 .d88形式などにイメージ化します。 使える環境を私は持っていないので、 試すことができずご紹介のみとさせて頂きます。 DISK-BASICや、2Dディスクもイメージ化できるらしいです。
 
ディスクイメージ化の流れの項で説明しましたように、モダンなOSでは 決められた種類のフロッピーディスクしかアクセスできませんが、 このツールは同作者によって作られた 低レベルアクセスのできるデバイスドライバー fdrawcmd.sysを介することで その制限を克服しています。 USB外付けドライブはUSBの仕様に阻害されるため使えません。 またツール自体はMac/Linux版もありますが、 ドライバーがないためディスクイメージ化には使えません。 コンバーターとしても使え、 非常に多くの形式に 対応していますが、 海外製のツールでほとんどが我々が使っているのとは違う形式なので (知っている拡張子もたまたま被っているだけで違うフォーマットです)、 実質.d88形式のみでイメージ化できるツールと考えた方が良いでしょう。
 
次のようなコマンドでイメージ化させるようです。 オプションの指定で読み取り範囲なども細かく制御出来るようです。 海外製なので2DDは720KBがデフォルトだったりと文化の違いがある点はご注意を。
    SAMdisk ドライブ名: ファイル名.d88
NDitt [Windows]
 
Windows(64bit)で動作するDitt!を目指して作られたディスクイメージ化ツールです。 .d88形式でイメージ化します。 試せる環境がないためご紹介のみとさせて頂きます。 1D/2D/1DDディスクもイメージ化できるそうですが、 PC-6001用のツールで3.5インチのPC-98のディスクは非対応なのでご注意を。
 
SAMdisk同様にOSの制限を克服するためにfdrawcmd.sysを利用しています。 このためUSB外付けドライブには使えないのも同じです。
 
次のようなコマンドでイメージ化させるようです。
    NDitt r ディスクの種類 ドライブ名: ファイル名.d88
Virtual Floppy Image Converter [Windows]
 
Virtual Floppy Image Converterは変換ツールですが(その説明は後ほど)、 フロッピーディスクドライブからのディスクイメージ化もできます。 .fdi, .tfd, .nfd, .d88, べたイメージなどにイメージ化します。
 
設定タブの「DISK OPENボタン」に✓を入れて ドロップダウンメニューで「実FD形式」を指定すると、 変換タブにディスクイメージ化ボタンが出現します。 1.25MB(選択肢は1.23MB表示)/1.44MBのディスクを、 変換先に指定できる形式でイメージ化できます。
 
DiskExplorer [Windows]
 
DiskExplorerはディスクイメージ内のファイルにアクセスするツールですが(その説明は後ほど)、 フロッピーディスクドライブからのディスクイメージ化もできます。 .fdi, .hdi, .thd, .nhd, .hdd, べたイメージなどにイメージ化します。
 
メニューの特殊→ディスクイメージの作成から、 640KB/1.25MB/1.44MBのディスクイメージ化できます。 出力形式は.diskですが、他ではあまり使われない拡張子で 実体はべたイメージですので、.tfdなどにリネームしておくことをお勧めします。
 
DDコマンド [Linux/Mac]
 
Unix系OS標準のDDコマンドがディスクイメージ化に使えます。 べたイメージ形式でイメージ化します。
 
まず始めにfdisk -l(macOSの場合はdiskutil list)で デバイス一覧を表示し、容量やボリュームラベルから フロッピーディスクドライブのデバイスを見つけます。 内蔵ドライブだと/dev/fd0、USB接続ドライブだと/dev/sda、 macOSだと/dev/disk2などになります。 Macではディスクドライブが自動マウントされていますので、 diskutil unmount デバイスでマウント解除しておきます。
    sudo dd if=デバイス of=出力先ファイルパス status=progress
このコマンドでディスクイメージ化できます。 出力ファイルはべたイメージになりますので、 拡張子は.tfdなどにしておきましょう。 もしもディスクが破損して途中で止まってしまう時は引数として "bs=バッファのバイト数 conv=noerror,sync"を追加すると、 指定したサイズ単位で読み込んでエラーがあった部分はNULL(0)で埋めてくれます。
 
引数のifとofを逆にすると書き戻しもできますが、 それは書き間違えると大惨事になりかねないことでもあるので、 フロッピーディスクのライトプロテクト必須です。
 
RawWrite for Windows [Windows]
 
DDコマンドのWindows版的立ち位置のGUIツールです。 ディスクイメージを書き戻すこともできます。 べたイメージ形式でイメージ化します。
 
Windows 7以降はXP互換モードで起動する必要があります。

固定ディスクのディスクイメージ化

固定ディスク(HDD)をディスクイメージ化する手段はほとんどありません。 仮にできてもディスクイメージを置くために同容量のHDDが必要で その環境を構築するハードルが高いためかと思います。 エミュレーターはそれぞれハードディスクイメージ形式を持っていて 仮想ハードディスクにアクセスできますが、 これは仮想フロッピーディスクを頻繁に入れ替えて使うのが手間なので、 エミュレーター上で新規に仮想ハードディスクを作って インストールする目的で作られているようです。
 
GetDrive [MS-DOS(PC-98/PC/AT互換機)/Windows]
 
唯一と言っていい固定ディスクイメージ化ツールとして、GetDriveがあります。 このツールはPC-98でも動作しますが、 PC/AT互換機やモダンなPCに固定ディスクをつなぎ替えて そちらで実行してのディスクイメージ化もできます。 ただしPC-98とは違うハード・違うOSに繋ぐため、 相性や設定ミス・操作ミスで壊してしまうリスクがあるので、 十分理解した上で自己責任で行って下さい。 なおGetDriveは固定ディスクの一部が故障していると、 そこまでしかディスクイメージ化できません。
 
このツールを使って出来るディスクイメージは 固定ディスクのべたイメージになっているため、同じ場所で配布されている nhdgenを使って.nhdに変換することで エミュレーターで使えるようになります。 ここからこの後で紹介するNHCを使えば 他のエミュレーター公式の形式に変換できます。
 
なおPC-98のHDDのパーティションは独自の形式のため、 PC/AT互換機(DOS/V機)やモダンなPCとは 互換性がありません。 後述するDiskExplorerがPC-98形式のパーティションに対応しているので、 ディスクイメージの中身にアクセスすることはできます。 プロフィル選択は変換前のべたイメージなら「(Manual HD)」、 変換後の.nhdなら「T98Next HDD」を選択します。
 
DDコマンド [Linux/Mac]
 
PC/AT互換機やモダンなPCに固定ディスクをつなぎ替えて良いのなら、 Linux/macOSのDDコマンドを使う方法があります。 この場合も同様のリスクがありますので、十分理解した上で自己責任です。
    sudo dd if=デバイス of=出力先ファイルパス status=progress
もしもディスクが破損して途中で止まってしまう時は引数として "bs=バッファのバイト数 conv=noerror,sync"を追加すると、 指定したバッファサイズ単位で読み込んでエラーがあった部分は NULL(0)で埋めてくれます。 当然その部分のデータは欠落しますが、それ以外を救える可能性が上がります。 この方法でも固定ディスクのべたイメージが出力されるので、 nhdgenで.nhdに変換できます。
 
私は自分の固定ディスクをこの方法でディスクイメージ化して エミュレーターでの起動まで成功しています。 固定ディスクの接続方法がE-IDEだったのでUSB-IDE変換アダプターを使い、 Live USB起動のUbuntuで作業を行いました。

CD-ROMのディスクイメージ化

CD-ROMは当時も今も統一された仕様で扱われていますので、 CDドライブの使えるモダンなPCで、 豊富にある適当なツールでイメージ化するだけで済みます。 中身のファイルもモダンなOSで普通に取り出せます。 CD-ROM対応のエミュレーターなら必ず対応している .isoイメージ形式でイメージ化するのが汎用的で良いでしょう。

ディスクイメージの変換ツール

ディスクイメージを変換できるツールがあります。 特定の形式用のコンバーターは探せば(古いものが多いですが) そこそこ見つかりますが全部を取り上げていくときりがないので、 ここでは多くの形式で相互変換できるツールをご紹介します。 特にVirtual Floppy Image Converterはよく使われる必須品です。
 
Virtual Floppy Image Converter (vfic) [Windows]
 
ディスクイメージのコンバーターです。 非常に豊富な形式に対応してるので重宝します。 2001年を最後に更新が止まっているので、 新しめの形式に対応していない点は注意です。
 
対応形式は.fdi, .tfd, .nfd, .d88, べたイメージ, .xdf, .hdm, .dcp, .dcu などです。 .nfd形式はr1バージョンも扱えるようです。
 
NFCC [Windows/Web]
 
フロッピーディスクイメージのコンバーターです。
 
対応形式は.fdi, .nfd, .slf, .fdd .d88, .dcp, べたイメージなどです。 .nfd形式はr0(古いバージョン)のみの対応である点に注意です。
 
Web版は サーバーとの通信もせず、ブラウザさえあれば使えるので便利です。
 
NHC [Windows/Linux]
 
ハードディスクイメージのコンバーターです。 エミュレーター全般のハードディスクイメージに対応している上に PC-98エミュレーター用のディスクイメージにも対応している数少ないツールです。
 
対応形式は.hdi, .thd, .nhd, .slh, .hdd, .vhd, .vmdk, .vdi などです。
 
FIVEC (Floppy Image Viewer Extractor Converter) [Windows]
 
ディスクイメージのコンバーターです。
 
対応形式は.fdi, .hdi, .tfd, .thd, .nfd, .nhd, .slh, .fdd, .d88, .xdf, .hdm, .hd4, .hd5, .dd6, .dd9, .hdb, .ddb, .dcp, .dcuなどから .fdi, .hdi, .nfd, .nhd, .slh, .fdd, .xdf, .hdmへ変換できます。 .nfd形式はr1バージョンも扱えるようです。 豊富な形式に対応しており各エミュレーター公式の形式をほぼカバーしていますが、 変換元の形式によっては変換先に選べない形式もあるようです。 .d88には変換できない点は注意です。
 
「Open File」でディスクイメージを読み込んで、 右下から変換後の形式を選んで「Save As」で変換できます。 BKDSK Imageがべたイメージなので、 出力ファイル名の拡張子を.tfdや.slfにすることでこれらの形式にも変換できます。 ただ私の試した限りだと1.25MBの時にしかBKDSK Imageの選択肢がでないようでした。
 
現在はFA8(つまりDISK-BASIC)の時だけですが、 ディスクイメージを読んだ後に右中央の「FAT8」を選んで「Details」から、 ファイルの取り出しもできます。

ディスクイメージの編集ツール

ディスクイメージの中身に直接アクセスできるツールがあります。 特にDiskExplorerはよく使われる必須品です。
 
DiskExplorer [Windows]
 
ディスクイメージ内のファイルに直接アクセスできるツールです。 ファイルやディレクトリを自由に編集出来るので重宝します。 プロフィル選択の「(Manual HD)」でのハードディスクイメージの パーティション自動解析が強力です。
 
対応形式は.fdi, .hdi, .tfd, .thd, .nhd, .hdd, .xdf, .hdf, .hdm, べたイメージなどです。 2010年頭を最後に更新が止まっており、新しめの形式や .d88には対応していない点は注意です。 DISK-BASIC(FAT8)やロングファイルネームには非対応のようです。
 
ND [Windows/Web]
 
ディスクイメージ内のファイルに直接アクセスできるツールです。 現在もメンテナンスされているので安心です。
 
対応形式は.fdi, .hdi, .tfd, .thd, .nfd, .nhd, .hdd, .vfd, .vhd, .flp, .vmdk, .d88, べたイメージなど、主要なエミュレーターの形式をほぼカバーしています。 またDISK-BASICやロングファイルネームにも対応しています。 .nfd形式はr0(古いバージョン)のみの対応である点に注意です。
 
Web版は サーバーとの通信もせず、 ブラウザさえあれば使えるのでWindows以外のプラットフォーム使いに便利です。
 
L3ディスクエクスプローラ [Windows(x86)/Mac(Intel)]
 
ディスクイメージ内のファイルに直接アクセスできるツールです。 DISK-BASICの対応に積極的で多くの機種に対応しており、 半角カナのファイル名までも扱えます。
 
対応形式は.fdi, .hdd, .d88, べたイメージなどです。
 
anxdiet [Windows]
 
Anex86に付属している、 ディスクイメージ内のファイルに直接アクセスできるツールです。
 
対応形式は.fdi, .hdiです。
 
Virtual Floppy Drive [Windows]
 
ディスクイメージをマウントして中身にアクセスできるツールです。 ですが2008年に更新停止していて、 64ビット用ドライバが未署名で実質使えなくなっています。 この後で紹介するImDisk Virtual Disk Driverが同等のことができるので そちらを使うことをお勧めします。
 
対応形式は.fdd, .vfd, .flp, .imgなどで、 すべてべたイメージです。
 
ImDisk Virtual Disk Driver [Windows/Linux]
 
ディスクイメージをマウントして中身にアクセスできるツールです。 エクスプローラーでファイル操作したい人向け。
 
対応形式はべたイメージです。
 
ディスクイメージではなくメモリ上に確保した領域をマウントする (つまりRAMディスクの作成)機能もあるため、 操作方法でちょっと混乱するかも知れません。 GUIでより手軽に扱えるようにしている ImDisk Toolkit の方をインストールするのが良いと思います。
 
macOSのマウント機能 [Mac]
 
べたイメージの項でも少し触れましたが、 macOSではMS-DOSのディスクイメージの拡張子が.imgのべたイメージなら、 OSの機能としてダブルクリックでマウントして中身にアクセスできます。 Finderでファイル操作したい人向け。
 
対応形式は.img(べたイメージ)です。
 
フロッピーディスクドライブと同じ制限がかかっているので、 640KB/1.25MB/1.44MBのイメージが対象です。 DISK-BASICのイメージはアクセスできません。 知らないうちに.で始まる隠しファイルができていたり (dot_cleanコマンドで消しましょう)、 ファイルを削除してもゴミ箱行きで空き容量がすぐに増えなかったりと OSの仕様の影響を受ける点はお忘れなく。

おまけ情報

DOSBox
 
DOSBoxはPC/AT互換機のMS-DOS環境のエミュレーターです。 コンピューター自体のエミュレーターではないのですが、 マルチプラットフォーム対応で、 MS-DOS用のプログラムを実行させることができます。 他のエミュレーターは起動すると PC-98実機同様にピポッと音がしてメモリチェックから始まって ディスクから読み込むかROM-BASICが起動するのに対して、 DOSBoxは起動するといきなりコマンドプロンプトにいます。
 
コマンドプロンプトで次のコマンドを打つと 指定したフォルダ以下がドライブにマウントされます。
    mount ドライブレター エミュレーターを起動しているパソコンのパス
実ドライブをマウントさせることも可能です。 ここからさらに次のコマンドで ディスクイメージ(べたイメージ)をマウントさせることもできます。
    imgmount ドライブレター ディスクイメージのDOSBOX内のパス名 -t floppy
どんな環境でもMS-DOS用の(PC/AT互換機用の)古いコマンドラインツールを さくっと使えるので便利です。
 
なお、マウント機能は Neko Project II系ではhostdrv.comで、 Anex86ではFSX.COMで同様に実現可能です (詳しくはそれぞれのドキュメントを参照)。
 
DOSBoxは英語圏のアプリなので、 デフォルトでは日本語の表示や日本語キーボードに対応していません。 設定のみで変更ができ、PC-98のMS-DOSにも対応出来る DOSBox-Xを使うことをお勧めします。
 
DOSBox-X
 
DOSBoxは派生版が多くありますが、 その中でもDOSBox-Xは積極的な改良を続けており、 設定のみで日本語対応できるようになっていたり、 PC-98用のMS-DOSをエミュレーションするモードもあります。 これを使えば、PC-98実機専用のコマンドラインツールもモダンなPCで使えます。
 
まず、PC/AT互換機のMS-DOS環境として、 日本語表示と日本語キーボード対応させるには次のようにします。 アプリを起動したら、メニューのMain→Configuration Tool→Saveで 設定ファイルdosbox-x.confを生成させて一旦終了させます。 dosbox-x.confの下記項目を書き換えれば設定完了です。
    language = ja_JP.lng
    dosv = jp
    country = 81
    [autoexec]
    @keyb jp106 > nul
PC-98用のMS-DOS環境にした上で日本語(MS-DOSなのでSJIS)対応させる場合は 次のように書き換えます。
    language = ja_JP.lng
    machine = pc98
    pc-98 force ibm keyboard layout = false
DOSBox-Xでは.img, .fdi, .nfd, .fdd, .d88などの ディスクイメージもマウントできるようになっています。
 
DOSBox-Xは再現性がまだ不完全なことはあるものの WindowsやPC-98のゲームなども実行出来るようになっており、 なにより積極的な改善が行われているので、 当時のプログラムの実行ができれば良いのであれば エミュレーターとしても十分使えるようになっていくと思われます。
 
フロッピーディスクのカビの落とし方
 
フロッピーディスクの磁気面にはカビが生えることがあります。 カビが生えたままのフロッピーディスクを読み取らせようとすると、 データが読めませんでしただけは済まず、 ディスクドライブのヘッダーを汚して壊してしまったり、 それがその後に入れた他のフロッピーディスクまで傷つけてしまいます。 読み取り前に必ず磁気面のカビの有無を確認し、 ある場合は除去してから使いましょう。
 
カビには白カビと黒カビがあり、 白カビは白い斑点が見られるのですぐに分かりますが、 黒カビは光に反射させないと気づけない場合があるので注意が必要です。
 
カビ落としにはイソプロピルアルコール(IPL、イソプロパノール)が良いです。 イソプロピルアルコールは気化しやすく吸い込むと有害なため、 換気には十分注意しましょう。 無水エタノールは磁気面を溶かしてしまうので使ってはいけません。 イソプロピルアルコールで効果がない場合、 アルカリ電解水を使うと良いようです。 乾きにくいことと、乾燥後の残滓(水酸化ナトリウム)処理が必要な点に注意です。
 
拭き取る道具としては綿棒がよく使われますが、 強くこすると磁気面に良くないため、 マイクロファイバークロスやシャモアチップ(セーム皮チップ)を 使う方が良いようです。
 
モダンなOSでフロッピーディスクを1.25MBでフォーマット
 
3モード対応ドライブがあれば、 モダンなPCで1.25MBのディスク内のファイルに普通にアクセスできますが、 1.25MBのディスクをMS-DOS形式でフォーマットするのは簡単にはできません。 PC-98実機でフォーマットできる環境があるなら そちらでフォーマットした方が安全確実ですが、 モダンなPCでフォーマットするための方法も書き残しておきます。 なお作業中はフロッピーディスクドライブを他のツールや ファイル管理・ウイルス対策ソフトが開いていないように注意して下さい。 失敗する時はたいてい他のアプリがアクセスしてしまっているのが原因です。
 
Windowsの場合は、コマンドプロンプトで以下のように実行します。 新品のディスクでエラーが出る場合は、 GUIでクイックフォーマットの✓を外して 標準のアロケーションサイズで 1.44MBフォーマットすると扱えるようになることがあります。
    format ドライブ名: /fs:fat /a:1024 /n:8 /t:77 /u
Windows7以降は コマンドプロンプトとして %SystemRoot%\SysWOW64\cmd.exe (32ビット版)を使う必要があります。 Windows10バージョン1607(Anniversary Update)以降は この機能が廃止されていて使えません。 format2hdなら 最新のWindows環境でも1.25MBフォーマットできます。
    format2hd ドライブ名: /f:1.23
別の方法としては、エミュレーターを起動しているパソコンの フロッピーディスクドライブをエミュレーター内の フロッピーディスクドライブとして使える機能が利用できます。 エミュレーター上でMS-DOSのシステムディスクを起動して、 format ドライブ名: /sするだけですし、 起動ディスクとして作れるメリットもあります。 T98-Nextは最近のWindowsでは正常に書き込みができないようなので、 SL9821を使うのが安全です。
 
Linuxの内蔵ドライブの場合は、fdformatコマンドを使うはずですが、 成功例を見つけられませんでした。 USB接続ドライブの場合は、ufiformatを使ってできるようです。
    ufiformat -f 1232 デバイス
なお、2019年8月頭にフロッピーディスクドライバーのサポートが終了しているため、 ディストリビューションによっては機能がカットされている可能性があります。
 
FreeDOS(98)
 
FreeDOSはオープンソースのMS-DOS互換実装で、それをPC-98向けに改造したものがFreeDOS(98)です。 PC-98実機を持っている方はMS-DOSのシステムディスクがないと色々と困るので 大抵持っているとは思いますが、持っていなかったり壊れてしまった場合には、 FreeDOS(98)をフロッピーディスクに書き込むことで、 PC-98実機用の起動ディスクが作れるので重宝します。
 
PC-98のフォントをモダンなOSで使う
 
PC-98のフォントをモダンなOSで使えるように変換するツールは 探せばいくつか見つけられますが、 どのOSでも使えて フォントサイズによらず必ず98フォントで描画されるので、 こちらがお勧めです。 Neko Project II系のBIOSイメージのFONT.ROMを元にpc-9800.ttfが作れます。
 
PC-98で液晶モニターを使う
 
PC-98は保存しておきたいけど ブラウン管モニターは体積を取るので液晶に置き換えたい場合、 どんな液晶でも良いわけではないです。 ここでも固有の仕様が影響してきます。
 
まず接続端子ですが、アナログRGBはD-Sub15ピンです。 これは一般的な仕様に基づいているため、 ケーブルが繋がれば第一段階クリアーです。 ただし、PC-9821初期ぐらいまではアナログRGBのコネクタが2列(DA-15)で、 VGA端子対応の液晶はミニD-Subと呼ばれる3列(DE-15)ですので、 変換コネクタが必要になります。 今でも変換コネクタは普通に買えますが、 Macintosh用はピン割当が違っていて互換性がない点はご注意を。
 
次に水平同期周波数。 PC-98が出すのは固有の24.8KHzで、 この周波数に液晶が対応していないと表示されません。 スキャンコンバータで変換することは可能ですが、高価な機械で 今も買える商品はおそらくないため、 中古品をオークション等で確保するしかありません。 レトロPC/ゲーム機を集めている人でもない限りは 対応する液晶を探した方が手っ取り早いです。 PC-9821シリーズでは一般的な31.5KHzも出力できるようになっているため、 水平同期周波数を気にする必要はなくなっています。 起動時にGRPH+2キーを押せば強制的に31.5KHzで出力させられます。
 
そして画面の解像度。640×400に液晶が対応していないと画面が切れたりします。 液晶の表示位置設定を手動で調整して対応出来るケースもありますが、 基本的には640×400に対応している液晶が必要です。 PC-9821シリーズでは違う解像度での出力もできるため、 640×400に対応していない液晶でも違う解像度で出力して 見えないことはない(ちょっと縦長や横長かも)表示は大抵できます。 ただこれも対応している液晶を使った方が良いです。
 
総合すると、640×400と24.8KHzに対応した液晶があれば良いことになります。 液晶メーカーのWebページには これらの仕様が書いてあるので対応しているのを探せば良いのですが、 640×400や24.8KHzに対応していると書いてある商品は見当たらないと思います。 でも実は対応しているメーカーは意外とあって、 PC-98当時にモニターを発売していた国内メーカーは 今も非公式に対応してたりします。 WebサイトやSNSで動作報告をしている方々がいますので、 アイオー、iiyama、EIZO(ナナオ)、センチュリーあたりで 動作報告を探してみると良いと思います。 私の場合、すでに持っていた液晶で三菱製は全て対応していて、 DELL製は画面切れ(640×400非対応)でしたので、 ブラウン管を三菱の液晶で置き換えることができました。
 
PC-98が故障した時は
 
PC-98を専門に扱っている会社・個人が今もいくつかあるので、 そこに修理を頼むと良いです。 修理に対するスタンスがそれぞれ違うので、 どこにお願いするかは問い合わせてから決めた方が良いです。 修理を受け付けている有名どころとしては、 PC-98のミシマ第三研究所 技術部98Factoryがあります。
 
PC-8801/PC-8001の2D/1Dディスクを読む
 
PC-98の仮想化の話からは離れてしまいますが、 調査・実行したのでその成果として情報を書き残しておきます。
 
2DDに対応しているPC-98のドライブでは PC-8801/PC-8001の2D/1Dディスクを読むことができます。 2Dディスクは両面倍密度、2DDディスクは両面倍密度倍トラックであり、 2DDは2Dのトラック幅を半分にしてトラック数を倍確保したものなので 1トラックおきにアクセスすれば2Dも読めるとの理屈です。 1D(片面倍密度)は2Dの片面がフォーマットされてない状態なので、これも読めます。 実際、N88-日本語BASIC(86)のシステムディスクに 1D/2D媒体のファイルを2HD/2DD媒体に転送するユーティリティ DDconv.n88が付属していて 公式に読める前提で作られていることが分かります。
 
2D/1Dフロッピーディスクの種類
種類
(DISK-BASIC≒N/N80/N88-BASIC)
容量 バイト数/セクタ セクタ数/トラック トラック(シリンダ)数/面 面数 規格 回転数
5インチ 1D (NEC DISK-BASIC) 140KB 256 16 35 1 片面倍密度 300rpm
5インチ 2D (NEC DISK-BASIC) 320KB 256 16 40 2 両面倍密度 300rpm
8インチ 2D (NEC DISK-BASIC) 1MB 256(トラック0表は単密度で128) 26 77 2 両面倍密度 360rpm
 
ディスクイメージ化ツールには2Dディスクの指定をして 2D/1Dディスクを読めるものもあります (2HD/2DDディスクと同様にOSの制約もあるため、MS-DOSツールのみ)。 なお2D用ではなく2DD用のドライブで書き込みをする場合、 2トラック毎に同じデータを書き込んでもそのトラック間の隙間には 書き込まれていないため、そのディスクを2Dドライブで読んだ時に うまく読めないケースが起こりえます。 書き込みはできないものとして考えておいた方が良いでしょう。
 
私はPC-8001の1Dのシステムディスクや2Dのディスクを make_hd/MAHALITO/DSKSTRでイメージ化して、 エミュレーターのj80/QUASI88で実行に成功しました。 なお、MAHALITOの2Dモード指定を一度でも行うと、 本体リセットまでmake_hdがディスクの前半までしか イメージ化されなくなってしまうようなので、気をつけて下さい。 他の組みあわせでは不具合が生じなかったので、 MAHALITOの後片付け不足とmake_hdの初期化不足が招いている事態のようです。
    make_hd ドライブ名: -f ファイル名.d88
    2D又は2DDフォーマットですかの質問にyを入力
    
    MAHALITO a -2d ドライブ名: ファイル名
    DILTO ファイル名
    
    DSKSTR -2d ファイル名.dsk -dドライブ番号
    DSK2E88 ファイル名.dsk ファイル名.d88 ラベル
.d88形式で1D/1DDディスクを扱う場合は注意が必要です。 .d88フォーマットではアドレス0x1bにメディアタイプ指定を持っていますが、 0x00=2D、0x10=2DD、0x20=2HDのみで1Dや1DDが想定されていませんでした (おそらく片面のデータがない状態で表現しようとしたと考えられます)。 その後、.d88形式を扱うツール等で0x30=1D、0x40=1DDと独自拡張した仕様で 実装するツールが出始めたので、 この拡張に対応してないエミュレーターやツールで誤動作を起こすことがあります。 なお1Dイメージは0x00(2D指定)で片面部分のみにデータが格納されている扱い (独自拡張ではなく本来の仕様に沿った実装)をしている エミュレーター・ツールがほとんどだそうです。

戻る