コインいっこいれる

ROM抽出,エミュレーター

ACA NEOGEO ソニックウィングス2の抽出(Android)


650円です。ドル建ての格差にちょっと涙が・・・
NEOGEOCDやMVSより格段に安いのでありがたいのですが
ソニックウィングス2は人気あるのか、インストール数多いですね。

対象はアップデート後の1.10になります
懸念していた、データ構造そのものは手を付けられていないようで
Bluetoothコントローラー対応がメインだったっぽいです

1.0も解析しましたが、公式ストアは1.10のみなので問題はないかと
必要な人は1.10と比較してCRC置換するか、近似値を当てはめれば変換可能です。

PrimeGamingでは、いまのところ公開されなさそうなタイトルを選んでみました。
(ビデオシステムの版権はハムスター社が2018年に全権利を取得しているそうです 情報元

事前準備

事前にAPKのバックアップと
LinuxかWsl等(Ubuntu推奨)でBINWALKのインストールが必要です。

詳細は上記を読んで行って下さい。
WSL環境のUbunntu22では apt install binwalk で自動インストールが可能です。

変換バッチ

下ごしらえに512kbのダミーファイル作成用のPowershellスクリプトが必要です。

# 任意の名前
$filePath = "dummy_ff_512k.tmp"
# 任意の容量
$fileSize = 512kb
# FFで埋める
$fillByte = 0xFF

#書込
$fileStream = New-Object IO.FileStream($filePath, [IO.FileMode]::Create)
$byteArray = New-Object byte[] $fileSize
for ($i = 0; $i -lt $fileSize; $i++) {
    $byteArray[$i] = $fillByte
}
$fileStream.Write($byteArray, 0, $byteArray.Length)
$fileStream.Close()

上記はメモ帳コピペからdummy.ps1として保存して下さい。



必要ファイルとして、上記の発明の友さんの記事から
MSC_extract_v2.zipをダウンロード
ZIPファイルに含まれている bcut.exe BSwap.exe oddeven.txtを
Binwalkでlib_neogeo(略)を解凍したフォルダにコピー
下記BATをメモ帳で保存した後、実行して下さい。

powershell -executionpolicy RemoteSigned -File dummy.ps1
bcut 66BB30 p.tmp 0 2097152
bcut p.tmp p0.tmp 0 1048576
bcut p.tmp p1.tmp 1048576 1048576
copy /b p1.tmp+p0.tmp 075-p1.p1
copy 74CC17 075-s1.s1
bcut 65BA28 075-m1.m1 0 131072
copy /b 220B50+2BDB68 C1C2.tmp
copy /b 37A1E8+4466EC C3C4.tmp
BSwap.exe d B C1C2.tmp oddeven.txt 075-c1.c1 075-c2.c2
BSwap.exe d B C3C4.tmp oddeven.txt 075-c3.c3 075-c4.c4
bcut 45A41C 075-v1.v1 0 2097152
bcut 45A41C 075-v2.tmp 2097152 524288
copy /b 075-v2.tmp+dummy_ff_512k.tmp 075-v2.v2
del *.tmp
mkdir rom
move 075-**.** rom\
powershell compress-archive rom/* sonicwi2.zip

Pはいわゆる天地返し、Cは作戦名ラグナロクと同じ
V2は512kBしか抽出できませんが、残りはダミーになるので
その分FF埋めしたダミーを付けてあげればMAME/FBNにCRC一致しました。

問題なく実行出来ればsonicwi2.zipが作成され
romフォルダにバックアップができあがります。

もしもバッチファイルからPowershellのPS1ファイルが実行出来ない場合は
手動で一度PS1ファイルをPowershell実行して
dummy_ff_512k.tmpが作成されたのを確認してバッチからコメントアウトするか

powershell -NoProfile -ExecutionPolicy Unrestricted .\dummy.ps1

こちらに置き換えれば(多分、未確認ですが)動くと思います。(参考)

動作確認

2は初代よりゲームバランスがイマイチになって微妙扱いされましたが・・・
どうも開発終盤にとつぜんMVSへ切り替えになって大変だったとか
実際に縦シューティングで横画面というのは批判も多かった様子

そうそう、ソニックウィングスといえば、真尾まおってイメージですね
そういえば数ヶ月前にシングルCDがとつぜん発売されてました

リブートの予定でもあるのかな?
企画的にCDだけ出した、だと悲しいですが・・・

さりとてリブートしたら原形とどめてないアレで
落胆するのもあるあるなのでなんとも言えない。

しめ

解析のヒントを記載いただいたしげるさん
変換用ツールを公開いただいた、scrap_a_さん
この場をお借りして感謝を。ありがとうございました。

STGとしてなら、ソニックウィングス3の方が評価が高いようですが
どっちにしろSTGは下手の横好きレベルなのでなんとも
気が向いたら記事にするかもしれません。