【※ 当記事は2020年2月22日時点の情報です】
ペイヴメント(@pavement1234)です
ファミコンのディスクシステムのゲームを合法的にエミュレータで動作させたい。
ファミコンのディスクシステムのBIOSとゲームデータを吸い出したい。
こんな悩みを解決します。
- 著作者の許可なくインターネットを通じてゲームをダウンロードすることは、法律で禁止されています
- このページは違法行為を助長するものではありません
ディスクシステムのゲーム吸い出しには失敗のリスクがあります(当サイトは責任を負いかねます)
- まずディスクシステム本体は故障していることが多く磁気ディスクもデータがエラーで読み取れないことが多いです。その理由は経年劣化です。
- ディスクシステムのゲームをエミュレータで遊ぶ際にディスクシステムのBIOSが要求されるのですが、BIOS自体もゲーム同様著作権があり、インターネット上に落ちてるものを拾ったりすると犯罪になりますのでご注意ください。なお本記事ではBIOSの吸い出しについてもご紹介しています。
ファミコンのディスクシステムとは?
ファミコンのディスクシステムをご存じでしょうか?
ゲームのROMが書かれた磁気ディスクを読み取るファミコンのオプション製品です。
ゼルダの伝説、メトロイド、新鬼ヶ島など数々の名作が生まれました。
必要な機材
概算ですが(ソフトを除き)総額20000円強で揃えられます。
機材① ディスクシステム本体(中古価格:3000円前後)※メルカリ中古
何はともあれディスクシステム本体(HVC-022)です。
これが無いとディスクからデータを吸い出せません。私はメルカリで中古を買いました。
新品がごく稀に売ってますが私が見たときは38000円…。ディスクシステムはゲームの吸い出しにしか使いませんので新品を買わなくても良いと思います。
注意点としては中のゴムベルトが経年劣化で溶けていることが多いらしいので多少高くてもベルト交換済と書いてあるモノを選びましょう。
とはいえ30年以上前の製品なのでジャンク品が多く、ハズレを引いたら修理or再度購入する覚悟が必要であることをご承知おきください。

【参考】ゴムベルト交換の紹介動画
ゴムベルトはAmazonで400円ぐらいで売ってます。
機材② ディスクシステム用のACアダプタ(中古価格:1000円前後)※Amazon中古
単2電池×6本でも動くのですが、Amazonで中古のACアダプタが安く売ってるのでACアダプタ使用をお勧めします。
ファミコン用のHVC-002(DC10V 850mA)とディスクシステム用のHVC-025(DC9V 400mA)があるので間違えないようにしてください。
見分け方ですがファミコン用は端子が黒、ディスクシステム用は端子が赤です。

ちなみに単2電池はこんな感じに入ります。

機材③ RAMアダプタ(中古価格:2000円前後)※Amazon中古
型番はHVC-023です。
ディスクドライブ本体のデータをファミコンに読み込ませる装置です。
ファミコンのカセットコネクタに挿してディスクシステムのBIOSを吸い出します(詳しい手順は次の項で…)。
私はAmazonの中古で買いました。

機材④ FDS Stick(新品価格:3980円)※Amazon新品
ディスクシステムのドライブエミュレータです。
USBメモリみたいな形状をしててディスクドライブの代わりになり256Mbit(36Mbyte)なのでかなり沢山ゲームが格納できます。
SRPJ1509という商品名で、Amazonで新品が売ってます。

機材⑤ FDS Stickアダプターケーブル(新品価格:5480円)※Amazon新品
機材①:ディスクシステム本体と機材④:FDS Stickを繋ぎ、磁気ディスクからROMを吸い出します。
cxd1838という商品名でAmazonで新品が売ってます(たまに売り切れてることがありますが、しばらくするとまた入荷してます)。

機材⑥ New FC Dumper(新品価格:4980円)※Amazon新品
ファミコンのカセットからROMを吸い出す機器です(他の記事でも紹介しています)。
今回は機材③:RAMアダプタからBIOSを吸い出すために使います。
Amazonで新品が売ってます。

機材⑦ 磁気ディスク(中古価格:ピンキリ。数100円~数1000円)※メルカリ中古
ゲームが格納された磁気ディスクです。
注意点としては磁気が劣化して読み取りエラーが出る可能性があるので多少高くても動作確認済と書いてあるものを選びましょう。
ディスクシステム本体と同様30年以上前の製品なのでジャンク品が多く、ハズレを引いたら(修理は出来ないため)再度購入する覚悟が必要であることをご承知おきください。
機材➇ Bzエディタ(フリーソフト)
Bzというバイナリエディタで吸い出したBIOSを加工します。
ここに置いてありますのでダウンロードしてください。
機材⑨ New FC Dumperアプリ(フリーソフト)
New FC DumperでROMを吸い出すときに使うアプリです。
マッパーやROM/RAMサイズなどを指定できます。ここに置いてありますのでダウンロードしてください。
機材⑩ RomChecker(フリーソフト)
New FC DumperやFDS Stickで吸い出したROMの妥当性チェック(CRCなどが正しいか)するアプリです。
ROMを吸い出したら必ずチェックしましょう。
機材⑪ FDS Stick付属アプリ(フリーソフト)
FDS StickでROMを吸い出すときに使うアプリです。
ここに置いてありますのでダウンロードしてください。
BIOSの吸い出し
ディスクシステムのRAMアダプタからBIOSを吸い出します。
手順① New FC DumperにRAMアダプタを挿してPCにUSB接続する
この向きで挿します。
手順② New FC Dumperアプリを起動し「Info」をクリックし情報を読み取る
MMC TYPE(マッパー)が0で認識されます。
debug information : 1c7ae5d5(初期版)
debug information : 5e607dcf(後期版)
debug information : 4df24a6c(ツインファミコン版)
3つのうちどれかが表示されたら正しく認識されています。
ディスクシステムのROMは3種類(初期版、後期版、ツインファミコン版)あり、私のは後期版でした。

手順③ 「Dump」をクリックしファイル名を付けて保存
「disksys.rom」という名前で保存すると「disksys.rom.nes」というNESファイルが生成されます。
次の手順で詳しく説明しますが、New FC DumperでROMを保存する場合、常にNESファイルとして保存する仕様です。
NESファイルは先頭16バイト(0x0000-0x000f)がNESヘッダで、17バイト目以降(0x0010~)がROMデータになります。

手順④ 「disksys.rom.nes」をBzエディタで開き、BIOSデータを抜き出して「disksys.rom」というファイル名で保存する
「disksys.rom.nes」はこういう構造になっています。
0x0000~200Fの領域は不要なので削除します。
BzはリードオンリーでファイルOPENするのがデフォルト仕様なのでOFFにします。
Bzを起動し、メニューから「編集」→「読込時リードオンリ」を見るとチェックONになってるのでOFFにすることで読込時リードオンリーを解除できます。
読取時リードオンリが解除された状態でメニューから「ファイル」→「開く」を選び「disksys.rom.nes」を開きます。

こういう風に0x0000~200Fの領域を選択した状態で「Delete」ボタンを押すと削除されますので、メニューから「ファイル」→「名前をつけて保存」を選び「disksys.rom」というファイル名で保存します。


念のためCRC32計算ツールで「disksys.rom」を計算すると5e607dcfになるハズ。
違っていたら吸い出し時にデータが化けた可能性あり。
手順⑤ エミュレータのEXEと同じフォルダに「disksys.rom」を置く
私はVirtuaNESを使っていますが「VirtuaNES.exe」と同じフォルダに「disksys.rom」を置くことでエミュレータにBIOSを認識させることができました(エミュレータ毎に置き場が決まってるかもしれません)。
VirtuaNESのダウンロードページ
磁気ディスクデータの吸い出し
メルカリで入手した年期の入った磁気ディスクたち。こいつらを吸い出します。
この動画の5分32秒~8分55秒に磁気ディスクデータの吸い出し方法が紹介されています。(*.fds)という形式で吸い出されます。
手順① 機器を接続します
こんな感じです。必要な機材は次の6点。
機材①:ディスクシステム本体
機材②:ディスクシステム用のACアダプタ
機材④:FDS Stick
機材⑤:FDS Stickアダプターケーブル
機材⑦:磁気ディスク
機材⑪:FDS Stick付属アプリ
磁気ディスクはA面が上になるようにセットします。
FDS StickのUSBはPCに接続します。
FDS Stickアダプターケーブルは上下の向きがあるので以下のようにUPを上に向けます。
なお、ACアダプタを接続しても、すぐに作動中ランプは点灯せず、手順④でデータの読み取りを行って初めて赤いランプが点灯します。
今回ゼルダの伝説を読み取ります。

手順② FDS Stick付属アプリ(FDSStick_20160926.exe)を起動します
手順③ Diskタブを開きます
手順④ 「Read disk」ボタンを押すとファイルダイアログが出てくるので、ファイル名を指定して「保存」をクリックすると読み取りが始まります

手順⑤ A面の読み込みが終わったら以下のダイアログが出てくるので、ディスクをEjectしてB面を上にして挿入した状態で「Read next」をクリック

手順⑥ B面の読み込みが終わったら「Done」をクリック(2枚目がある場合は1枚目をEjectして2枚目のA面を上にして挿入した状態で「Read next」をクリック…という具合に全データが読み取られるまで繰り返します)

正常に読み取れるとこんな感じのログになります。「Bad CRC」とか出てくると読み取りに失敗しているので、諦めずに何回かTRYしてみてください。
ちなみに私がゼルダの伝説の読み込みを行った際、1回目、2回目がNGで3回目でOKになりました。
他のディスクは10回ぐらい試行してOKになったのもあります(何回か読んでるうちに調子が良くなり成功率が上がる感じ)。
読み取ったROMは、必ずROM Checkerで検証しましょう。
データベースのCRCと一致しましたと出れば安心です。

これでゼルダの伝説のディスクデータ(*.fds)が生成されました
エミュレータでディスクデータをプレイする方法
VirtuaNES.exeと同じフォルダにdisksys.biosが置かれた状態で、エミュレータのメニューから「ファイル」→「開く」を選び、先ほど生成したディスクデータ(*.fds)を読み込みます。
今回はZELDA.fdsを読み込みました。
メニューから「編集」→「ディスク」→「1枚目B面」を選ぶとB面に切り替えることができます。
無事、ゼルダの伝説が開始できました(名前の入力とかは割愛しました)。

まとめ
無事、ディスクシステムのBIOSとROM(FDS)を吸い出してエミュレータでプレイすることが出来ました。