Steamのアーケードクラシックス アニバーサリーコレクションからROMイメージの抽出を試してみた

Steamのアーケードクラシックス アニバーサリーコレクションからROMイメージの抽出を試してみた。

ROMイメージ抽出の方法は、このあたりに情報があるので、試してみた。
Anniversary Collection Arcade ClassicsのROM抽出

手順としては、
(1) Steamから古いバージョンのアーケードクラシックス アニバーサリーコレクションをダウンロードする
(2) game extraction toolboxというソフトを使ってROMイメージを取り出す
となる。


まず、(1)のSteamから古いバージョンのアーケードクラシックス アニバーサリーコレクションをダウンロードする手順について。

Steamでアーケードクラシックス アニバーサリーコレクションを購入して普通にPCにインストールすると、最新版がインストールされる。
しかし、この最新版にはgame extraction toolboxは対応していないのでうまくいかない(らしい)。
なので、古いバージョンのアーケードクラシックス アニバーサリーコレクションをダウンロードしなくてはならない。
以前はSteamの機能でDepotというのでそれができていたのだが、現在ではできなくなってしまっている。

DepotDownloaderというソフトを使うと、それがダウンロード可能となる。
GitHub – SteamRE-DepotDownloader- Steam depot downloader utilizing the SteamKit2 library-
このサイトからWindows版の実行ファイルを手に入れた。バージョン2.6.0だ。
Release DepotDownloader_2.6.0 · SteamRE-DepotDownloader · GitHub
DepotDownloader-windows-arm64.zipをダウンロードして、zipの中身を作業フォルダーに展開すると、DepotDownloader.exeがある。
コマンドラインで使うツールなので、cmd.exeなどから使うか、batファイルなどに起動するオプションを全部書いておいて実行する。

使い方は
DepotDownloader.exe -app アプリID -depot DepotID -manifest マニフェストID -username SteamのユーザーID -password パスワード
となる。

アーケードクラシックス アニバーサリーコレクションのIDなどは、SteamDBというサイトで調べる。
Arcade Classics Anniversary Collection · Anniversary Collection Arcade Classics Price history · SteamDB
App IDは1018000だ。
DepotIDは、Depotsという項目をクリックすると表示される。
英語版と日本語版があり、日本語版のDepotIDは1018002だ。
さらにその1018002というのをクリックすると更にBuild IDやManifest IDなどが表示される。最新版の情報だ。
その画面のManifestsという項目をクリックすると、古いバージョンの日付とManifest IDが表示される。全部で5つある。
今回は、12 July 2022という日付のManifest IDの47564409887200277を使う。

DepotDownloader.exe -app 1018000 -depot 1018002 -manifest 47564409887200277 -username ○○ -password △△
などとコマンドラインで実行する。
すると、Steamの認証コードの入力を求められる。e-mailで送られてくるので、そのコードを入力する。
あとは、自動でダウンロードされる。
(depotsというフォルダー内に1018002というサブフォルダができており、その中の10602165というフォルダ内にAA_AC_ArcadeClassics.exeという実行ファイルといくつかのファイルができている。)

これで、古いバージョンのアーケードクラシックス アニバーサリーコレクションがダウンロードできた。


次に、手順の(2)のgame extraction toolboxを使う。
GitHub – shawngmc-game-extraction-toolbox- Python tools for extracting ROMs from games and investigating files

Pythonのバージョン3.9以上で動作するツールだ。
pipxというのを使うことでgame extraction toolboxを簡単にインストールすることができる。
インストール手順は、まずpipxを以下のようにインストールする。
pip install –user pipx
pipx ensurepath
(あるいは py -m pip instal –user pipx 、py -m pipx ensurepathとする。)

そして、インストールされたpipxを使って、
pipx install game-extraction-toolbox
とすると、game extraction toolboxがインストールされる。

で、あとは簡単にできるかと思ったのだがいくつか落とし穴があり、それに嵌まってしまってうまくいかなかった。

Windows環境にpythonを入れる方法はいくつかあり、python公式のinstallerで入れる方法以外に、MS Store版とかAnacondaと使って入れたりとかがあり、自分は複数の方法で違うバージョンを複数インストールしてちょっと環境がおかしくなっていた。
環境が正しくないとpipxやgame extraction toolboxがうまく動かずにエラーが出てしまう。

自分の場合、一旦古いバージョンのpythonとかをアンインストールして、python公式のインストーラーでpythonを入れ直した。
公式インストーラーでpathを自動で設定したのだが、古いバージョンを入れていたときのpath設定を自動で消してはくれないので、path設定の不要な古いものは手動で消した。
path設定についてもちゃんとしていないとgame extraction toolboxがうまく動かずにエラーが出てしまう。

pipx install game-extraction-toolbox
で、インストールした実行ファイルはgextoolboxというコマンド名で実行できる。

gextoolbox version
で、バージョンを確認すると、バージョンは0.1.7がインストールされていることが確認できた。

あとは、
gextoolbox tasks extract –task acac –srcdir アーケードコレクションのフォルダ –destdir 出力フォルダ
とすると、ROMイメージの抽出ができる。
acacというのはアーケードクラシックス アニバーサリーコレクションの抽出をするために指定する。

しかし、なぜかうまくいかない。

色々と試した結果、少し前のバージョンのgame extraction toolboxを使う必要があるというのに気がついた。
前のバージョンのgame extraction toolboxのgame-extraction-toolbox-0.1.5.tar.gzを入手し、
pipx install game-extraction-toolbox-0.1.5.tar.gz
で、バージョン0.1.5をインストールしなおした。
(前のものは pipx uninstall game-extraction-toolbox として、前もって消しておいた。)

バージョン0.1.5のgame extraction toolboxを使って、アーケードクラシックス アニバーサリーコレクションのDepotのManifest 47564409887200277のものを使うと、ちゃんと認識をして、ROMイメージが抽出された。(この組み合わせ以外はうまくいかないらしい。それが分かるまでだいぶ時間を無駄にして試行錯誤をしてしまった。)

ROM抽出成功だ。
MAMEとかで実行できるかどうか、あとで試してみる。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Time limit is exhausted. Please reload CAPTCHA.

+ 18 = 24