3.最後にAPKをシステムに配置してプログラムを実行できるように設定。obbファイルはゲームごとに格納フォルダ名が異なるので注意。PCにコピーし拡張子をzipに変更して展開すると、下記の意味深なファイルが抽出されます。XのROMと比較すると、V-ROMは4096KB+4096KB+2048KB(10240KB)、C-ROMは8192KB×6(49152KB)でサイズが完全一致。BIOSらしきものも含まれてウヒョーーー!!!...と思えますが...。BIOSのようなものについて~mslugx_bios_m68kとmslugx_bios_sfixを見たところ、実機BIOSに限りなく似ています。完全に同じではなくエミュレータでロードすると起動直後にクラッシュしました。Androidアプリと連携を取るよう細かい部分がカスタマイズされているものと推測されます。「Android版NEOGEOシリーズからBIOSダンプは現実的に出来ない」と思われます。いえ、NEOGEOエミュレータとして動いていることに違いは無いので、apkなどからLO・SM1を抽出することは可能かもしれません。が”000-lo.lo”と完全一致しました。STAR』があればneogeo.zip(BIOSセット)を生成可能です。詳しい手順は当記事最後の『環境構築』項をご覧下さい。XのROMイメージのようなものについて~試しにmslugx~ファイルを展開できないか検証用にromcutter.zip(変換バッチファイル同梱)を作ってみました。ROMと同じファイル構成で切り出します。8192KB8192KB8192KB8192KB8192KB8192KBこれらのファイルをmslugx.zipに圧縮したものをエミュレータで実行すると...こんな感じ。~何が問題なのか?~上の画像を見て「ああ、ステージ1っぽいなぁ」と思った方はいい勘してます。画面がバグっていてもゲームは進行できるのです。V-ROMやM-ROMも正常に認識しており、BGM/SEもバッチリ鳴ります。画像はバグっていてもカラー情報は完全に一致しているため、C1~C6・S1をスマートフォンにあわせてピクセル数を調整しているのかもしれません。(実際、ROMを比較するとS1は似ているもののC1-C6は大きく内容が異なります)。今のところはNebula(JUKEBOX)で音楽を聴くくらいしか出来ません。これを解決する方法として考えられるアプローチは1.C1~C6、S1から元データの仕様に準拠したデータを生成するコンバータを作る。2.Android版のエミュレータの仕様を再現するプログラムを作る。※2013/04/28追記:実際にはTilesは「C-ROMを元に生成したエミュレータ用パターンデータ」です。スマートフォン用に調整などは一切していませんでした。answap.zip単純なバイトスワップだけで生成が可能で、その法則性はコチラをご参照下さい。このバイトスワップは、SFIX-ROMの並びをNEOGEOのメモリマップ上に適した形に再配置し、より高速な処理を行うための仕様と考えられます。エミュレータなどで用いられるFBAフォーマット(fbacacheで生成)や、NEOGEOエミュレータNeoDSで用いられるNEOフォーマット(NeoDsConvertで生成)に格納されているVRAM展開用パターンとほぼ同じでした。(厳密には処理をより高速化するため4バイトブロックを4ビットごとに反転した内容)つまり以下のような感じです。tileswap.zipとりあえず4ビットごとに反転するツールも作りました。このツールを使っても「FBAやNEOに含まれるスプライト情報ブロックと同等のデータ列が生成される」だけで、Android版NEOGEO移植シリーズからPC用エミュレータでプレイ可能なROMイメージを生成することはできません。このスプライトパターンから元のC-ROMを復元するプログラムは現段階では未完成です。tiles2crom.zipこのツールを使うと前述のtileswapで生成したスワップ済みTilesデータからC-ROMの生成が可能です。引数にswapped_tilesを与えるとC-ROMを偶数&奇数バイトにメモリ上へ展開します。メタルスラッグXの場合はtiles2cromに下記パラメータを与えればROMを生成できました。250-c6.binなお、タイルデータから元のC-ROMへの再レイアウトの計算式はコチラ。NeoDS同梱のNeoDsConverterのソースコードを参考にしました。~環境構築~NEOGEOエミュレータ『Nebula』で実際にプレイ可能にするまでの手順です。’98の変換バッチファイルと、tileswap.exe、romcutter.exe、answap.exe、tiles2crom.exeのプログラムセットです。oddファイルを展開したフォルダに中身をコピーして各種バッチファイルを実行し、C-ROMを正しい手順で変換すればゲームのROMイメージを生成できます。拡張子binのファイルが複数生成されるので、ゲームごとに以下のzipファイルにまとめて圧縮してください。STARを購入し、oddファイルを以下の通りリネーム。sfix.sfx※実際にはneo-geo.romは使えませんが念のためパックします。BIOSの最新版(2013/04/29現在v3.0)をダウンロードし、uni-bios.romを先ほどの3つのリネームしたファイルと一緒に”neogeo.zip”に圧縮すればOKです。Universe-Biosをチェックすれば準備完了。これで購入した作品をPCでプレイ可能になります。~さいごに~これで、Android版NEOGEO作品からNebulaなどで実行可能なROMイメージを生成できました。誰にも渡さず、あくまで自分用のバックアップとして利用しましょう。違法コピー目的の人がこんな面倒なことをするわけありませんが...)。xをここの手順通りやっているのですが、android_METAL_SLUG_X.batを起動すると250-m1.binと250-s1.binだけ作られあとのファイルはアクセスが拒否されましたと出てファイルが作られません。アクセス許可はフルコントロールにしていますがどうもうまくいきません。:可能性として考えられるのは・フォルダ名に日本語または半角スペースが含まれている。(バッチファイルの引数指定が狂う可能性アリ)・OS仕様上、管理者ユーザ以外では通常アクセスが出来ない特殊フォルダにファイルを展開し、通常ユーザでコマンドを実行している。どちらかと思われます。:返信ありがとうございます。問題はご指摘の通りアクセス権限に関することでした。問題を解決したところ無事7本全てのromを吸い出すことが出来、nebulaで起動を確認しています。ありがとうございました。:実は別記事にまとめてました。http://i486.mods.jp/ichild/?page_id=1421念のため本記事も修正してSteam版へのリンクを張りました。:いつも有意義な情報ありがとうございます。WOLVESに対応の予定はございませんか?よろしくお願いいたします。元となっているROMが特殊チップになっているため法則性がつかめていません。HumbleBundleあたりで素ROMが出てくれればそれを元に解析できますが、今のところは無理ですねぇ。ネオジオ後期のロムデーター特殊チップなんですね。お返事ありがとうございます。:貴重な情報のおかげで、貴重なneogenゲームが遊べて助かってます。恩返しというほどではないですが、psvitaの月華2は、vita3.60、かつhenkaku導入済み、そしてvitaminを使ってバックアップをとれば、romデータを構築できます。c-romは、こちらのtiles2cromで変換すればいいです。wiiのvcにあるcr00のromが厳しい。何か方法はないでしょうか。コメントをキャンセルメールアドレスが公開されることはありません。