現在、アーケードゲームをラグ(遅延)の影響が最高レベルまで改善された状態で、家に居ながらにして国内のみならず世界中の人々とオンラインプレイできる最高のエミュレータ「Fightcade」が存在します。
詳細については別記事にてまとめておりますので、ぜひご覧くださいませ↓
みなさんはアーケードゲームをオンラインプレイしたいと思ったことはありませんか? 今やオンラインゲームが当たり前の存在となっており、家に居ながらにして国内のみならず世界中の人々とゲームを楽しむことができる環境となっています …
なお、アーケードゲームをエミュレータでプレイするには、該当ゲームのROMファイルが必要になります。
ROMファイルを入手するには、通常は専用の機材を用いてアーケードゲーム基板から直接ROMデータを吸い出す必要があるのですが、今回はSteam版のStreet Fighter 30th Anniversary Collection(以下アニコレ)からエミュレータ用スパ2XのROM抽出を行う方法が見つかりましたので、その方法をご紹介させていただきます。
なお、下記の手順で入手したROMファイルや音楽ファイルを他者に譲渡したりアップロードすることは法律に抵触しますので、くれぐれも個人利用の範囲に留めるようにご注意くださいませ!
Contents
なぜSteam版アニコレからROM抽出できるのか?
最近は各メーカーが名作と呼ばれる過去販売した自社ゲームを復刻して販売しています。
わかりやすい例で言うと、任天堂のクラシックミニシリーズをはじめとしたミニゲーム機の販売で、これらはすべて自社が開発した公式エミュレータで複数タイトルのゲームを実行しており、各タイトルのオリジナルのROMデータをもとに開発を行っています。
同じことがアニコレにも言えまして、本作もカプコンの名作格闘ゲームを自社が開発した公式エミュレータで動かしているにすぎず、各タイトルのオリジナルのROMデータをベースとしており、タイトルによっては必要に応じてデータが再構築されているわけです。
つまり、Steam版アニコレのフォルダ内には各タイトルのROMデータや音楽ファイルが含まれているはずであり、それらを抽出するツールを利用すればROMデータや音楽ファイルを入手できるということになります。
Steam版アニコレの購入&インストール
ストリートファイター30周年記念!アーケード版の12作品からなるコレクションが登場。「SFII Hyper Fighting」「Super SFII Turbo」「SF Alpha 3」「SFIII 3rd Strike」はオンラインマッチが可能!世界中のWorld Warriorsとプレイしよう! ※日本地域で購入された場合は「日本版」になります。 ※日本地域では「海外版」の購入はできません。
上記のリンクからSteam版アニコレを購入し、インストールを行ってください。
ゲームファイル場所の確認
特にインストール場所を変更していなければ、通常は、
C:\Program Files (x86)\Steam\steamapps\common\Street Fighter 30th Anniversary Collection
にインストールされています。
このStreet Fighter 30th Anniversary Collectionのディレクトリ内の「Bundle」というフォルダに各ゲームのROMデータや音楽データがすべて入っており、タイトルごとに.mbundleファイルとして1つにまとめられています。
この.mbundleファイルからROMデータを抽出することになります。
ROM抽出ツールを使って.mbundleファイルからROMファイルを作成する
「スクラップA」氏がSteam版アニコレの.mbundleファイルからROM抽出を行うツールを開発し、ご自身のブログにて公開されています。
BLOGを更新していない間も、エミュ移植タイトルからのアーケードROM抽出を色々試してみていました。手が空いたらボチボチ結果を載せていきたいと思います。今回は「Street Fighter 30th Anniversary Collection(Steam版)」(以降SF30th)です。何番煎じか分かりませんが…
感謝の気持ちを込めて、ありがたく使わせていただきましょう。
[追記]スクラップA氏から連絡がありまして、昨今のレトロゲームが流行している状況の中で、メーカー非公式の方法で遊べてしまうことにつながるグレーなツールを公開し続けることに抵抗があるため、頃合いを見て記事削除する旨のお話がありました。ご了承いただきますようお願いいたします。
ブログ中にツールのダウンロードリンクがありますので、そこから「SF30th_extract.zip」をダウンロードして解凍します。
今回はスパ2XのROMファイルを入手することが目的ですので、Steam版アニコレの「bundleSuperStreetFighterIITurbo.mbundle」ファイルをSF30th_extractフォルダ内にコピーし、01_extractDEbplist.bat、02_makeRomSet.batの順に実行します(もちろん、他のゲームについても同様に抽出を行えます)。
成功すると、「bundleSuperStreetFighterIITurbo」フォルダ内にROMデータと音楽ファイルが抽出されており、「mame」フォルダ内にエミュレータ用に変換されたROMファイルであるssf2tu、ssf2xj、ssf2xjr1の3つが作成されます。
高音質の音楽ファイルの生データも一緒に抽出されるのがうれしいところですねー
ただし、抽出されたROMデータと音楽ファイルのいずれについても、アップロードはせずにあくまで個人利用に留めるようにしてください!
さて、今回はFightcadeでオンライン対戦するためのROMファイルである「ssf2xjr1」に注目してみます。
keyファイルを作成する
CPS2のゲームはコピー防止のために暗号化のプロテクトが施されており、復号キーにより暗号化されたプログラムをデコードしてゲームが実行されるという仕組みとなっています。
ゲームを実行するための各ゲームごとの暗号化キーは海外の有志によりすでに解析されていますので、スパ2X(日本版 940223)を実行するためのkeyファイルをバイナリエディタで作成します。
使用するバイナリエディタはどれでも構いませんが、自分は「Stirling」というバイナリエディタを使用しました。
初めてバイナリエディタを使われるという方は、下記のリンクからStirlingをダウンロードしてください。
https://www.vector.co.jp/soft/win95/util/se079072.html
バイナリは下記のとおりです。
新規作成でバイナリを画像のとおり入力後、ファイル名「ssf2xj.key」で保存してください。
ROMファイルをまとめてssf2xjr1.zipを作成する
keyファイルの作成を行ったら、「ssf2xjr1」フォルダ内に入れます
ファイルをまとめた後にzipファイルとして圧縮し、「ssf2xjr1.zip」という形にすれば、エミュレータで使用するROMファイルの完成となります。
ROMファイルをエミュレータで起動確認
Steam版アニコレから抽出したROMファイル「ssf2xjr1.zip」がエミュレータで動くのかを確かめてみます。
起動してみると・・・
一部ファイルのCRCが異なっていると警告が出たものの、その後普通に起動することが確認できました!
今回CRC不一致が出たファイルはsfx.13m、sfx.14m、sfx.15m、sfx.16m、sfx.17m、sfx.18m、sfx.19m、sfx.20mとなっていますが、これはグラフィックROMに相当し、アーケード版と一部グラフィックが差し替えられているものの、メインプログラムの部分は変わっていないので起動できてしまうわけです。
ちなみに、今回抽出したアニコレ版のスパ2XのROMでは、アーケード版と比べて香港の国旗のグラフィックやチュンリーステージの背景が変わっていることが確認できました。
(アーケード版)
(アニコレ版)
アーケード版のコ〇・コーラを思わせる中国語とロゴが入った箱が、アニコレ版では無印のものに変更されています(笑)
総評
今回は、Steam版アニコレからエミュレータで使用できるROMファイルを入手する方法について紹介しました。
冒頭でもお伝えしましたが、今回の手順で入手したROMファイルや音楽ファイルを他者に譲渡したりアップロードすることは法律に抵触しますので、くれぐれも個人利用の範囲に留めるようにしてください!
最後までお読みいただきありがとうございます。