【PC-98】NFDMAKEで動いた吸い出しの全記録

はじめに

 以前の記事でフロッピーディスクの吸い出し方法を紹介しましたが、その中で「NIKE(カクテルソフト)はプレイできない」と書いていました。USBフロッピードライブで吸い出したイメージではコピープロテクトに阻まれて起動せず、PC-98実機で直接プレイしようとしてもフリーズしてしまうため、半ば諦めていたタイトルです。

 以前の記事では「NIKEはプレイできない」と書きましたが、今回PC-98実機と「NFDMAKE」を使うことで、プロテクト情報ごと完全なNFDファイルとして吸い出し、エミュレータ(Neko Project 21/W)で起動させることに成功しました。その手順をまとめます。

NIKEがプレイできなかった2つの理由

理由①:USBフロッピードライブではプロテクト情報が読み取れない

現代のUSBフロッピードライブは、OSからはUSBマスストレージ(ブロックデバイス)として認識されます。そのため、標準フォーマットのセクタデータしか読み書きできず、FDC(フロッピーディスクコントローラー)への低レベルなアクセスができません。

当時のコピープロテクトは、ギャップ領域への特殊データの書き込みや意図的なCRCエラーなど、標準フォーマットの外側にある情報を利用しています。USBドライブはこれらの情報に「アクセスする手段自体がない」ため、吸い出したイメージにはプロテクト情報が含まれず、ゲーム起動時のプロテクトチェックに失敗してしまいます。

つまりUSBドライブが「エラーとして弾いている」というよりは、そもそもプロテクト情報が存在する領域を読み取る機能を持っていないということです。

理由②:PC-98実機での機種互換性の問題

NIKEにはもう一つ別の問題がありました。PC-98の実機でプレイしようとすると、オープニング後に画面上方に青い横線が入った状態でフリーズしてしまいます。これはコピープロテクトとは無関係な、機種互換性の問題です。

 
かつてはこの問題を回避するためのパッチが存在していたようですが、現在では入手が困難な状況です。

結論として、NIKEを現代環境でプレイするには「プロテクト情報を含めた完全なイメージを作成し、エミュレータで動かす」というのが最も現実的な方法になります。

なぜエミュレータ上から吸い出せないのか?

「NFDMAKEをエミュレータ上で動かせばいいのでは?」と考える方もいるかもしれません。しかし、エミュレータからフロッピーの実ディスクにアクセスしようとしても、結局Windows経由、つまりUSBドライブ経由になるため、上で説明したのと同じ制限を受けます。

プロテクト情報を含めた低レベルデータを読み取るには、PC-98実機のFDCを通じて直接ディスクにアクセスする必要があります。

必要なもの

  • PC-98実機(今回はPC-9801 BX4を使用)
  • ゲームのフロッピーディスク
  • 作業用フロッピーディスク(Bドライブ用、吸い出したデータの保存先)
  • NFDMAKE(T98-NEXT TOOLに含まれるNFD形式イメージ化ツール)
  • LHA(MS-DOS用の圧縮ツール)
  • Windowsパソコン(今回はWindows 11を使用)
  • Neko Project 21/W(PC-98エミュレータ)

手順1:大苦戦!PC-98実機と「NFDMAKE」での吸い出し

まずはPC-98実機のMS-DOS上で、NFDMAKEを使用してゲームディスクをNFDファイル化します。コマンドを打つだけ……と思いきや、ここが一番の難所でした。

吸い出しコマンドの実行

準備したMS-DOS環境で、NFDMAKEを実行します。
NFDMAKE A: SOTU.NFD
Aドライブに入れたゲームディスクを読み込み、実機のハードディスク上にSOTU.NFDという名前で保存する場合の例です。

ここで私は「見た目上は成功しているのに、実は失敗している」という恐ろしい罠にハマりました。これから挑戦する方は以下のポイントを必ず確認してください。

罠①:一瞬で終わる「960バイト」のダミーファイル

コマンドを実行してすぐに「終了しました」と出たので安心していたのですが、ファイルサイズを確認するとわずか960バイトしかありませんでした。

実はこれ、ドライブがディスクの読み取りに失敗し、管理情報(ヘッダ)だけが作られた中身が空っぽのファイルです。当然ゲームは起動しません。

【成功のサインはコレ!】 NFDMAKEが正しくデータを吸い出せている時は、黒い画面に Track 00 から Track 153 付近まで、読み込んでいるトラックの数字がズラーッと流れていきます。ディスク1枚あたり約10分ほどかかりますが、これが出ずに一瞬で終わった場合は、ディスクがきちんと奥まで刺さっていないか、読み込みエラーが起きています。

罠②:「FILE WRITE ERROR」と容量不足の壁

ディスクを入れ直して再挑戦し、無事にトラックの数字が進んでいきました。しかし、Track 153付近まで到達したところで FILE WRITE ERROR が出て強制終了してしまいました。

原因は、実機のハードディスクの空き容量不足です。NFDファイルはプロテクトの意図的なエラー情報なども丸ごと保存するため、出来上がるファイルサイズが約1.25MB以上になります。私の場合、以前に吸い出した他のNFDファイルをハードディスクに残したままにしていたため、容量が足りなくなって書き込み途中でエラーが出てしまいました。

【解決策】 不要なファイルを削除してハードディスクの空き容量を確保してから、再度NFDMAKEを実行します。吸い出し済みのNFDファイルが溜まっている場合は、先にLHAで圧縮してフロッピーに移すか、不要なものを削除して空きを作りましょう。

成功すれば、プロテクト情報を含むディスクの低レベルデータがそのままNFDファイルとして保存されます。ただし、このNFDファイルは約1.25MBあるため、そのままではフロッピーにコピーしてWindowsへ持っていくことができません。次の手順で圧縮をかける必要があります。

手順2:LHAで圧縮する(まだまだ続く罠!)

吸い出したNFDファイルは約1.25MB(プロテクト情報の量により変動)のサイズがあります。このままでは作業用フロッピーディスクに収まらない場合があるため、実機上でLHAを使って圧縮してからフロッピーに保存します。

罠③:「ファイルが見つかりません」エラー

MS-DOS Shell上では確かにファイルが存在するのに、コマンドプロンプトからLHAを実行すると「ファイルがない」と言われることがあります。

原因は、当時のソフトの仕様でファイル名の末尾に見えないスペースが入っていたり、オー(O)とゼロ(0)が紛らわしかったりすることです。

解決策:ワイルドカード(*)を使う
LHA a B:\SOTUGYOU.LZH SOTU*.NFD
ファイル名の一部+ワイルドカードを指定することで、名前の微妙な違いを吸収して圧縮できます。

罠④:「22%」で止まった!? 進行状況の勘違い

LHAの実行中、画面に ==> 22% と表示されたまま止まったように見えて焦りました。

しかし、これは「進捗率」ではなく 「圧縮率」(元の約22%のサイズまで小さくできた) という意味です。実際の進捗は横に伸びていく ooooo... というマークで表示され、最後に done. が出れば成功です。

手順3:Windows 11へ移動し、エミュレータで起動

  1. 圧縮済みのフロッピーディスクをWindowsパソコンのUSBフロッピードライブで読み込む
  2. .LZH ファイルを解凍し、.NFD ファイルを取り出す
  3. Neko Project 21/Wを起動し、「FDD1」にNFDファイルをセットする
  4. 【重要】「FDD2」は必ず「Eject」して空にしておく(別のディスクイメージが入っていると起動エラーの原因になります)
  5. エミュレータを「リセット」して再起動する
これで、プロテクト情報が保持されたままエミュレータ上でゲームが起動し、無事にタイトル画面を拝むことができました。

うまくいかない場合のチェックリスト

  • NFDMAKEで吸い出し中にエラーが出る → ディスクの経年劣化が考えられます。ヘッドクリーニングを試すか、何度か読み取りを繰り返してみてください
  • エミュレータで起動しない → FDD2にディスクイメージが残っていないか確認してください
  • LHAで圧縮したファイルがWindows側で読めない → USBドライブでフロッピーを読み込む際、ディスクの1.2MB/1.44MBフォーマットの違いに注意してください
  • NFDファイルのサイズがおかしい → NFDMAKEのバージョンを確認してください

それでも動かないタイトルたち

今回、NFDMAKEによる吸い出しで無事にプレイできるようになったのはNIKEだけでした。NIKEの場合はコピープロテクトが原因だったため、プロテクト情報ごとNFDファイル化することで解決できたわけです。

しかし、「卒業写真・美姫」「きゃんきゃんバニーエクストラ」「天使たちの午後3番外編」といったタイトルは、NFDファイルで吸い出してもエミュレータ上でプレイできていません。これらはコピープロテクトとは別の原因(機種互換性やエミュレータの再現精度など)で動作しないと考えられるため、NFDMAKEで吸い出しただけでは解決しないのです。

NFDMAKEはあくまで「コピープロテクトが原因でイメージ化に失敗しているケース」に有効な手段であり、すべてのタイトルが動くようになる万能の方法ではないという点は覚えておいてください。

おわりに

実機を使ったMS-DOSでの作業は、現代のパソコンとは勝手が違う部分が多く苦労しました。しかし、その分だけゲームが無事に起動したときの感動はひとしおです。

USBフロッピードライブでは読み取れないプロテクト情報も、PC-98実機のFDCを通じてNFDMAKEで吸い出せば、エミュレータ上で完全に再現できます。一方で、プロテクト以外の理由で動かないタイトルもあり、レトロゲームの保存はまだまだ一筋縄ではいきません。同じように吸い出しで悩んでいる方の参考になれば嬉しいです。

コメント

タイトルとURLをコピーしました