雑記 CAS1のCRC修正とおまけ

ROM抽出,エミュレーターFinalBurnNEO,MAME,エミュレーター,ネタ

CRC修正

直前記事のオマケみたいなものです
抽出が前提なので、未読の方は上記を参照してください

うちのサイトでは定番ですが
リスト上未所持となってしまうROMをムリヤリ認識させます

バイナリはうちでビルドしたWindows実行形式に対応したバッチです


オリジナルは上記サイトです、いろんな派生品があります
好きなバリエーションを使えばいいと思います。

CAS1から抽出されたzipより当該ファイルを抽出し実行してください。

REM ffightj.zip(ファイナルファイト)Crcfix

forcecrc32 ffj_09.4b 131068 5B116D0D
forcecrc32 ffj_01.4a 131068 815B1797
forcecrc32 ffj_13.9b 131068 8721A7DA
forcecrc32 ffj_05.9a 131068 D0FCD4B5
forcecrc32 ffj_24.5e 131068 A1AB607A
forcecrc32 ffj_17.5c 131068 2DC18CF4
forcecrc32 ffj_38.8h 131068 6535A57F
forcecrc32 ffj_32.8f 131068 C8BC4A57
forcecrc32 ffj_10.5b 131068 624A924A
forcecrc32 ffj_02.5a 131068 5D91F694
forcecrc32 ffj_14.10b 131068 0A2E9101
forcecrc32 ffj_06.10a 131068 1C18F042
forcecrc32 ffj_25.7e 131068 6E8181EA
forcecrc32 ffj_18.7c 131068 B19EDE59
forcecrc32 ffj_39.9h 131068 9416B477
forcecrc32 ffj_33.9f 131068 7369FA07
REM cawingj.zip(US NAVY)Crcfix

forcecrc32 caj_10.5b 131068 BF8A5F52
forcecrc32 caj_02.5a 131068 125B018D
forcecrc32 caj_14.10b 131068 8458E7D7
forcecrc32 caj_06.10a 131068 CF80E164
forcecrc32 caj_25.7e 131068 CDD0204D
forcecrc32 caj_18.7c 131068 29C1D4B1
forcecrc32 caj_39.9h 131068 EEA23B67
forcecrc32 caj_33.9f 131068 DDE3891F
REM commandoj.zip(戦場の狼)Crcfix

forcecrc32 so04.9m 32764 D3F2BFB3
forcecrc32 so03.8m 16380 ED01F472
forcecrc32 vtb4.1h 252 B388C246
REM lostwrlds.zip(ロスト・ワールド)Crcfix

forcecrc32 lw_11c.14f 131068 67E42546
forcecrc32 lw_15c.14g 131068 402E2A46
forcecrc32 lw_10c.13f 131068 C46479D7
forcecrc32 lw_14c.13g 131068 97670F4A
REM trojanj(戦いの挽歌)CrcFix

forcecrc32 troj-04.10n 32764 0B5A7F49
forcecrc32 troj-06.13n 32764 DEE6ED92

戦いの挽歌 MAME 0.259以降用(FBN検証OK、MAMEは要検証)

REM trojanj(戦いの挽歌)CrcFixその2 0.259以降(未検証)
REM MAME0.259以降ROM内ファイル名が変わってるので注意!
REM dummy_ff_16k.binは下記PSを実行
REM tb01.6dがtb_01.6dになり、サイズが2倍になっているのでダミー追加でCRC OKでした

copy troj-04.10n tb_04.10n
copy troj-06.13n tb_06.13n

forcecrc32 tb_04.10n 32764 0B5A7F49
forcecrc32 tb_06.13n 32764 DEE6ED92

copy /b tb01.6d+dummy_ff_16k.bin tb_01.6d
# powershell スクリプト名(任意).PS1で保存し
# 右クリックからpowershellで実行をする
# dummy_ff_16k.binが生成されればOK

# 任意の名前
$filePath = "dummy_ff_16k.bin"
# 任意の容量
$fileSize = 16kb
# 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()

マトモにダンプできていなかった
mb7114e.1eとtbp24s10.7jがtbb1.1eとtbb2.7jとなっています。
FBNEOではoptional扱いなので動作しますが
MAMEの場合は256バイトのダミー&CRCで解決?

検証したところMAME0.261(Windows official)で
mb7114e.1eとtbp24s10.7jのまま起動できました
ただしROMが正しくないと警告のエラーは出ます。

オマケ

REM sf30thAnvのストリートファイターZERO3用
REM Sfz3j.zipとSfz3jr2.zipが対象
forcecrc32 sz3.13m 4194300 0F7A60D9
forcecrc32 sz3.15m 4194300 8E933741
forcecrc32 sz3.17m 4194300 D6E98147
forcecrc32 sz3.19m 4194300 F31A728A
forcecrc32 sz3.14m 4194300 5FF98297
forcecrc32 sz3.16m 4194300 52B5BDEE
forcecrc32 sz3.18m 4194300 40631ED5
forcecrc32 sz3.20m 4194300 763409B4

注意事項

物によっては英語版もCRC不一致ですが
需要少なそうなので省いています

MAMEでは「Sha1不一致でエラー」が出ます
ムリヤリの修正なので、起動確認はしていますが
バグや動作不良を否定できません
自己責任とバックアップを取ったうえでご利用ください。

思ったよりも認識してませんでしたねえ
漏れもあるかと思いますが、ざっと対応させてみました
ファイナルファイト(日本語版)は多様な抽出元があるのですが
どれもこれもCRCメチャクチャにいじられるのが謎すぎ。