ソニック メガコレクション(GC)からROMを抽出する

あけましておめでとうございます。2022年なので2がいっぱい。こんな年は当分来ないと思うので有意義に過ごそう。ワシは家族と遊んだりゲームとアニメに明け暮れたりしていました。ある一件を除いて…

ソニック メガコレクションについて

ゲームキューブでリリースされた、ソニックシリーズのオムニバス。収録タイトルは全てメガドライブのもので、ソニック1、2、3、&ナックルズといったメインシリーズだけでなく、3Dブラストやスピンボールなどのスピンオフ、リスターやジ・ウーズ、コミックスゾーンといったメガドライブ末期のソニックと関係なさそうな名作タイトルなどもあり、ソニックに殆ど触れたことが無いような初心者でも満足感を味わえる内容になっている…と思う。全部で14タイトル収録。中古価格が安かったこともあってかお得感に溢れている。

収録タイトルの内容はオリジナル版のエミュレーション移植で、追加要素などはないみたい。カービィ20周年コレクションやスマブラXの名作トライアルのように、オリジナル版のROMがそのまま入っていて、エミュレーターで動かしている。

収録タイトルが沢山なのは嬉しいけど、残念な点が2つ。セーブ機能が搭載されていないゲームが大半を占めるのにもかかわらず中断セーブ機能が無いこと。ソニック1やソニック2などは優しくない難易度も併せて余計に初心者に厳しく感じる。もう一つは、一部を除く隠しタイトルの解禁条件が余りにも作業的でだるいこと。リスターを解禁するために45分ぐらい費やしたのは記憶に新しい。この45分はゲームを遊ぶ時間ではなくボタンを連打する時間だったということで色々と察してほしい。後者はともかく、前者の問題点は後に出たPS2版/Xbox版(~プラス)では中断セーブ搭載によって解決された。向こうは向こうで中古相場の高さやロード時間といった問題もあるようだが…

ROMを抽出する

オリジナル版のROMがそのまま入っている…

…勘のイイ読者の方は既に気づいているとは思うが、特殊な手段を使えばこのROMを取り出して使うことが出来るのだ。

バーチャルコンソール、ゲームアーカイブス、スマブラX、20周年コレクションの場合はROMの抽出を行うか補助するツールが存在するために比較的容易にROMの抽出を行えるのだが、残念ながらソニック メガコレクションの場合は抽出ツールが存在しない。しかし、専用ツールがなくとも知識があれば難しくはない方法が存在している。

最初に断っておくと、この記事で行っていることは、エミュレーターのRAMに丸ごと入っているゲームのROMをバイナリ単位で切り出す、ただそれだけである。

この記事での手順はGC版のみ対応しており、PS2版/Xbox版(〜プラス)には対応していない。

必要なモノ

  • ソニック メガコレクション(GC)
  • GCディスクの吸出し環境(HBC導入済みWiiでのCleanRipなど)
  • Dolphin(GC/Wiiエミュレーター)
  • HxD(バイナリエディタ)
  • (あれば)隠しタイトル解禁済のセーブデータ、或いは隠しタイトルを解禁するための知識と根気と時間

前準備

あらかじめソニック メガコレクションを吸出ししておく。HBC導入済みWiiでCleanRipを使えばお手軽。この辺は今回は割愛。

Dolphin、HxDもまだないのなら導入しておく。ROM抽出を行うだけなら古いバージョンでも問題ないし、なんならパソコンも低スペックでも大丈夫。Dolphinの高速化設定の力を借りよう。

Dolphinでの作業

隠しタイトル解禁済みのセーブデータを用意してある場合、GCメモリーカードマネージャーを使って使用中の仮想メモリーカードに移しておくなどしてDolphinで使えるようにしておく。

Dolphinでソニック メガコレクションを起動する。十字キー、Aボタン、Bボタン、Zボタン、スタートボタンの操作ができれば問題ない。

メガコレクション_ゲームリスト

メガコレクション_ゲームリスト

抽出したいタイトルを選択し、起動する。今回は解禁作業が苦行だったメガドライブ末期の名作と名高い2Dアクションゲーム「リスター・ザ・シューティングスター」を例にする。

リスター・ザ・シューティングスター(メガコレ)

ゲームが起動できれば、Dolphin側で一時停止をする。止める場所はどこでもいいが、ロゴ画面よりはタイトル画面の方が抽出するタイトルを失念する危険性が少ない。

HxDでの作業

「プロセスの表示」は左上からも選べるよ

ここからはHxDでの作業に移る。左上の黒いメモリのアイコンか、ツールの「プロセスの表示」を選択すると、プロセスの一覧が表示されるので、Dolphin.exeを開く。

すると、DolphinでエミュレーションされているRAMの中身(かな?)がバイナリで表示される。検索で、「SEGA MEGA DRIVE」か「SEGA GENESIS」を探す。ソフトによってどちらであるかが変わってくるので見つからない場合はもう片方で探そう。リスターは「SEGA MEGA DRIVE」でヒットした。無事ヒットすると、その下の行にリリース年、ゲームタイトルが表記されていることを確認できる。コレこそがROMのヘッダーである。

ヒットした地点から16行上(256 / 0x100 Byte)にカーソルを動かす。この地点がROMファイルの開始地点。

リスターは16Mbit/0x200000 bit

「ブロックの選択」で、カーソルの地点から抽出するROMのサイズ分のバイトを選択する。リスターの場合、16Mbit( = 2MByte)である。16進数では0x200000。長さはデフォルトでは16進数になっているが、サイズの関係で16進数が一番利便性が高いのでこのまま。

こうして選択した内容がROMそのものである。コレをコピーし、ファイルを新規作成してペーストして保存すればROMの抽出が完了する。拡張子は「.smd」か「.bin」が推奨される。

動作確認

リスター・ザ・シューティングスター

リスター・ザ・シューティングスター

Windowsで動作するメガドライブやゲームギアなどに対応したセガハードのエミュレーター「Kega Fusion」で動作確認を行なったが、問題なく動作した。チェックサムエラーなども発生しなかったので正常なのでしょう。

今回吸い出しに成功した12タイトルのROM。容量を見るとスーファミと同等な印象。ゲーム内容もあるが、フリッキーだけ飛び抜けて少ない1Mbitで、プリレンダムービーを取り入れた3Dブラストが最も大きい32Mbitだった。

ナックルズ イン ソニック2、ソニック3 & ナックルズの2タイトルはワシの不勉強のせいか、この方法で吸い出ししても余計なデータがついたソニック & ナックルズが抽出できただけだった。ソニック & ナックルズ単体、ブルースフィア(& ナックルズ+ソニック1)は問題なく抽出できた。

(ロックオンシステム用)ROMの連結

ソニック & ナックルズのロックオンシステムを使ったタイトルは、ブルースフィアを除いて通常の方法では抽出に失敗してしまった。しかし、ソニック & ナックルズのとロックオン対象ソフトのそれぞれのROMを連結させることで、抽出に成功した。
ただし、ナックルズ イン ソニック2の抽出には失敗。ソニック2のROMが異なるためとのこと。

バイナリ切り出しにも使ったHxDでROMの連結を行う。ファイルツールより、連結を選択する。

SMC_HxD_Linking

このとき、ソニック & ナックルズが上に、ロックオン対象ソフトが下になるように連結の順序を設定する。出力ファイル名に拡張子をつけるのも忘れずに。やっていること自体は、バイナリを順番にくっつけるだけなので手作業でも可能。

SMC_S3K_Emu

&KNUCKLES

連結したROMをエミュレーターで起動したが、ちゃんとソニック3 & ナックルズとして起動した。

ブルースフィアもこの方法で抽出できることを確認した。ソニック1のUS版、JP版それぞれで別バージョンのブルースフィアのROMが作成可能。

※作成方法も含めてパタパタさんによる情報提供です。本当にありがとうございます!!

収録タイトルの情報

ゲームハードは共通してメガドライブで、メガCDは含まれない

抽出可否タイトルサイズ[10進数]サイズ[16進数]ヘッダー文字列備考
ソニック・ザ・ヘッジホッグ4Mbit80000SEGA MEGA DRIVE3バージョンあり(サイズ、ヘッダーは共通)
ソニック・ザ・ヘッジホッグ28Mbit100000SEGA GENESIS
ソニック・ザ・ヘッジホッグ316Mbit200000SEGA GENESIS
ソニック & ナックルズ16Mbit200000SEGA GENESIS
○●ブルースフィア20Mbit280000SEGA GENESIS& ナックルズ + ソニック1
?ナックルズ イン ソニック226Mbit330000SEGA GENESIS& ナックルズ + ソニック2
ソニック3 & ナックルズ32Mbit400000SEGA GENESIS& ナックルズ + ソニック3
ソニック 3Dブラスト32Mbit400000SEGA GENESIS
ソニック・スピンボール8Mbit100000SEGA MEGA DRIVE
エッグマンのミーンビーンマシーン8Mbit100000SEGA MEGA DRIVE
フリッキー1Mbit20000SEGA MEGA DRIVE
リスター・ザ・シューティングスター16Mbit200000SEGA MEGA DRIVE
ジ・ウーズ8Mbit100000SEGA GENESIS
コミックスゾーン16Mbit200000SEGA GENESIS

抽出可否について、○はが通常の方法で抽出に成功したもの、●がROMの連結で作成するもの、?がその両方の方法で失敗し、抽出可否が不明なものである。ブルースフィアは両方の方法で抽出に成功した。

この抽出作業で一番困ったのが、実はROMのサイズ。ヘッダーをみてもわからないので基本的に外部の情報に頼ることになる。たまにWikipediaに書いてあることもあるが、ROMを配布しているサイトの情報でようやく知ることができた…なんてこともザラにあった。これからワシと同じことをしようとしている方はぜひこの情報を参考にしてほしい。

※ナックルズ イン ソニック2、ソニック3 & ナックルズのROMサイズは、パタパタさんによる情報提供です。

フリッキーについて補足

国内で発売されなかったカセット版と同じ内容で、日本のメガドライブ本体で動かすとゲーム説明などが日本語になる仕様が存在する。ゲームの図書館、ゲームのかんづめ(メガCD)などで国内でも販売されることになったが、メガコレクションに収録されているのはカセット版だと思われる。

メガコレクション内でのマニュアルはゲームのかんづめ版のものだが、カセット版と同じ扱いで問題ない…と思われる。

ソニック・ザ・ヘッジホッグ(1)のバージョン違い

殆ど知られていないとは思われるが、メガコレクションに収録されたソニック・ザ・ヘッジホッグ(1)には実は3つのバージョンが存在し、隠しコマンドの入力によって別バージョンをプレイすること可能である。

  • US版
  • JP版
  • JP2版(メガコレクション版)

US版とJP版はそれぞれ北米版、日本版のROMで、JP2版(メガコレクション版)はJP版をベースに、バグを修正したバージョンとなっている。このバージョン違いのROMも、同じ方法で抽出することが出来た。

出現コマンド

バージョンコマンド備考
US↑Z↓Z←Z→Z
JP↑↓↓↓←→Z
or
ZZZ↑↑↑↓↓↓←→Z
JP2ZZZZZZ↑↓←→メガコレクション版
コマンドなしでプレイできるバージョンと同じ
コマンド未入力からこのコマンドを入力した場合のみ効果音が鳴らない

隠しコマンドの引用元。バージョンごとの違いもコチラで確認してね。

【メガコレ】ソニック1の各バージョンを比較してみた【GC版】
【メガコレ】ソニック1の各バージョンを比較してみた【GC版】 裏技・バグ技もあるよ!と言う事で今回は"ソニック メガコレクション"の収録ソフト"ソニック・ザ・ヘ...

※パタパタさんによる情報提供です。ありがとうございます!

参考リンク

先駆者様。色々助けられました。

racketboy.com - View topic - Extracting ROM files from game collections
2021-01-01: ジンカルヒト

今回使ったソフトのダウンロード先

HxD - Freeware Hex Editor and Disk Editor | mh-nexus
Dolphin Emulator - ゲームキューブとWiiのゲームをPCで
ゲームキューブとWiiのエミュレータ、Dolphinの公式ページ。最新バージョン (5.0-17984)のダウンロードや、フォーラムを使っての質問が行えます。
Kega Fusion - Sega Retro

コメント

  1. ルナ より:

    >ナックルズ イン ソニック2、ソニック3 & ナックルズの2タイトルはワシの不勉強のせいか、この方法で吸い出ししても余計なデータがついたソニック & ナックルズが抽出できただけだった。
    余計なデータがあるにしても抽出できたサイズ[16進数]を教えてもらえないでしょうか?

    • Degharl より:

      >>ルナさん
      抽出したROMを収納しているフォルダを探してみましたが、ナックルズインソニック2、ソニック3&ナックルズのROMが残っていませんでした。
      メガドライブの実機およびカセットを所持していないため詳しいことはお答えできないのですが、上記2タイトルとブルースフィアの3タイトルに関しては、ROMの容量が「ソニック &ナックルズ(16Mbit) + ロックオン先タイトル」の合計になっているようです。
      そのため、ナックルズ イン ソニック2(8Mbit)は「24Mbit/0x300000」、ソニック3 &ナックルズ(16Mbit)は「32Mbit/0x400000」であると思われます。
      ただし、記事の中でも書いてある通り、自分は吸出しに成功していない他、正確な容量を知っていないため、過信は禁物です。ナックルズ イン ソニック2に関しては26Mbitであるという説もあります。
      お役に立てず申し訳ないです。

      • ルナ より:

        どうもありがとうございます、参考にさせていただきます
        もし(問題ないのでしたら)上手くいけばここにまたコメントを残したいと思います

  2. パタパタ より:

    ソニック1は隠しコマンドで海外版、日本版、メガコレクション版の3種類のバージョンを切り替えられるのですが、それぞれ切り替えて起動、抽出すれば3種類のROMを作成出来ました。

    • Degharl より:

      >>パタパタさん
      情報提供ありがとうございます!
      コチラの方で確認した上で記事に追記する予定です!

      • Degharl より:

        >>パタパタさん
        差し支えなければ、件の隠しコマンドの出元を教えていただけると助かります。

  3. パタパタ より:
    • Degharl より:

      >>パタパタさん
      隠しコマンドの情報提供ありがとうございます!
      各バージョンの違いなども解説されていてとても参考になりました!
      後日、検証を経て追記させていただきます!

  4. パタパタ より:

    お役に立てたなら良かったです。

  5. パタパタ より:

    分かった事があるのであるので追記しますが、僕はソニック1~ナックルズまでの4作品は元のカセット版で所持していて吸出しもしていたのでサイズを確認したら、ナックルズ イン ソニック2(8Mbit)は「26Mbit/0x330000」、ソニック3 & ナックルズ(16Mbit)は「32Mbit/0x400000」で間違いない様です。
    実際ソニック3 & ナックルズはこの方法で抽出したら正常なROMが作成出来ました。
    ただ、ナックルズ イン ソニック2だけは同じサイズで抽出しても余計なデータが混じったソニック & ナックルズにしかならず色々サイズを変更しても検証しても結果は同じで成功しませんでした。
    そこでこの方法で抽出したソニック2と元のカセット版の情報をROMチェッカーで比較してみたら、別のバージョンだったのでそれが抽出できない原因かも知れません。
    だとするとソニック2、もしくは、ナックルズ イン ソニック2もソニック1の様にバージョンを切り替えるコマンドが存在すれば抽出出来る可能性もあるかも知れませんが、なければナックルズ イン ソニック2のみは不可能の可能性も出てくるのではないかと思います。

    • Degharl より:

      >>パタパタさん
      またまた情報提供ありがとうございます!
      残念ながら最近は多忙気味で、今週までは検証をする余裕がないと思われます。情報頂いたのに申し訳ないです。
      もうしばしお待ちいただければ、と思います。

  6. パタパタ より:

    ご多忙とは知らずすみませんでした。あと1つさらに分かった事があるので追記ですが、HxDでツールの「ファイルツール」の項目に連結というのがあったのでもしかしたらと思い、それぞれ単独のソニックのROMを繋いでみたら抽出したのと同じ
    ブルースフィアやソニック3 & ナックルズの正常なROMが作成出来、特にブルースフィアはソニック1の海外版と日本版のそれぞれで別のバージョンのROMが作成出来ました。
    ただナックルズ イン ソニック2だけは連結後のサイズも本来と違い「24Mbit/0x300000」で余計なデータの混じったソニック2にしかなりませんでした。
    お忙しいとは思いますがお時間のある時にお読み頂き追記して頂ければと思います。

    • Degharl より:

      >> パタパタさん
      お待たせしました。コメントで頂いた情報をもとに、ソニック1のバージョン切り替えと抽出、ロックオンシステムROMの抽出について追記しました。
      情報提供本当に助かりました。ありがとうございました!

  7. パタパタ より:

    追記して頂き有難う御座います、より分かりやすくなりました。

  8. takkun より:

    初めまして。
    素晴らしい記事をありがとうございます。

    ところで、GC版のソニックアドベンチャーDXにもゲームギア用のROMが収録されているようですが、こちらは同様の方法で取り出せるのでしょうか?
    一度試してみたのですが、ゲームギアROMのヘッダーや仕様が分からず、困っている状況です。

    • Degharl より:

      >> takkunさん
      対応がかなり遅れてしまって申し訳ありません。
      残念ながら、当方GC版ソニックアドベンチャーDXを所持していないため、検証することができないのです。お力になれず申し訳ありません。

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