島国DNA

ROM抽出,エミュレーターFinalBurnNEO,MAME,エミュレーター,サーガイア,ダライアス2,寿司食べたい

元ネタ

おさかな!

余りにシュールすぎたので変更しましたw

ダライアスコズミックコレクションから
ダライアスIIとサーガイアの抽出

経緯(長文注意)

分からん!

●ダライアスⅡ(二画面ver)(未完成)

BSwap.exe d B game.exe oddeven.txt odd.bin even.bin

bcut.exe game.exe c07-10.95 0x5CF1E0 524288
bcut.exe game.exe c07-11.96 0x64F1E0 524288

bcut.exe game.exe c07-09.75 0x74F5E0 524288

bcut.exe game.exe c07_17.69 0x86F5E0 131072

bcut.exe game.exe c07-12.107 0x90F5E0 524288

bcut.exe game.exe c07-03.12 0xA0F5E0 524288
bcut.exe game.exe c07-03.47 0xA0F5E0 524288
bcut.exe game.exe c07-04.11 0xA8F5E0 524288
bcut.exe game.exe c07-04.48 0xA8F5E0 524288

bcut.exe game.exe spriteex 0xB0F5E0 1048576

bcut.exe odd.bin c07_20-2.74 0x3678F0 131072
bcut.exe odd.bin c07_21-2.76 0x3878F0 131072
bcut.exe even.bin c07_19-2.73 0x3678F0 131072
bcut.exe even.bin c07_18-2.71 0x3878F0 131072

「spriteex」はたぶんスプライトなんだろなっていう予想です。違う可能性も全然あります。
というか本来スプライトは0x200000必要なんですが、この位置からだと普通にファイルサイズが足りませぬ。他に0x200000空いてる場所もありませぬ
一応0x100000でバイナリの区切りが付く&進むとsteamとか文字列が出てきちゃうもんで切り出してあります。
ダミーくっ付けたり、二回繰り返しで0x200000にしたうえで分割試すとうまくいくかも・・・いかないかも・・・
ちょっと試行してみたけどうまくいってないです。おのれM2
ちなみに三画面バージョンのスプライトは0x100000です(一致しません)
二画面バージョンでも実際に使う部分は半分てことでしょうか⇒ダミーくっ付け濃厚…?

●サーガイア用差分

揃ってはいます。このままだと無意味。

bcut.exe game.exe c07_41.69 0x84F5E0 131072

bcut.exe odd.bin c07_44.74 0x3E7AF0 131072
bcut.exe odd.bin c07_45.76 0x407AF0 131072
bcut.exe even.bin c07_43.73 0x3E7AF0 131072
bcut.exe even.bin c07_42.71 0x407AF0 131072

●謎maincpu???×2

ダラⅡ・サーガイアのmaincpuと出だしが同一
かつ
ダラⅡ・サーガイアのmainCPUと同じく、分割前文字列に「TUNA」「SASIMI」が入ってる
のでcpuっぽいです。
どっちかがサーガイアのVer2用なのかもしれません。
もう一つは未収録のはずのダライアスⅡOLDなのかと思いきやそんな事もありませんでした…
三画面用の可能性もあり。

bcut.exe odd.bin maincpuex1.74 0x447AF0 131072
bcut.exe odd.bin maincpuex1.76 0x467AF0 131072
bcut.exe even.bin maincpuex1.73 0x447AF0 131072
bcut.exe even.bin maincpuex1.71 0x467AF0 131072

bcut.exe odd.bin maincpuex2.74 0x4C7AF0 131072
bcut.exe odd.bin maincpuex2.76 0x4E7AF0 131072
bcut.exe even.bin maincpuex2.73 0x4C7AF0 131072
bcut.exe even.bin maincpuex2.71 0x4E7AF0 131072

現状ここまでです。
夢が広がりそうなファイルもあるのに現状試すこともできないのがもどかしい。

https://milkchoco.info/archives/8957#comment-5195

ここで8割寝てた私が情報投下、すやすやと眠りにつきました。

挿絵は文章ばかりなので穴埋めです。

c07-05からc07-08までがspriteだと思いますが
最初期のRomsetだと256kbなのでFFか00で倍にダミーつっこんでる可能性があります。
http://adb.arcadeitalia.net/dettaglio_mame.php?game_name=darius2d
0.37b10(0.46)のROMセットです(抜粋)


c07-05 | 262144 | | good | | | | no | e10715f4 |
c07-06 | 262144 | | good | | | | no | 7ca7fc52 |
c07-07 | 262144 | | good | | | | no | 632b0a85 |
c07-08 | 262144 | | good | | | | no | 1de7f1d7 |

https://milkchoco.info/archives/8957#comment-5197

無事、抽出可能に!投げて寝ちゃってゴメンナサイ;

bcut.exe game.exe spriteex 0xB0F5E0 1048576
↑は削除して

BSwap.exe d B game.exe offset0123.txt 00.bin 01.bin 02.bin 03.bin

bcut.exe 00.bin sprite00.bin 0x2C3D78 262144
bcut.exe 01.bin sprite01.bin 0x2C3D78 262144
bcut.exe 02.bin sprite02.bin 0x2C3D78 262144
bcut.exe 03.bin sprite03.bin 0x2C3D78 262144
copy /b sprite00.bin+dummy_00_256k.tmp c07-06.27
copy /b sprite01.bin+dummy_00_256k.tmp c07-05.24
copy /b sprite02.bin+dummy_00_256k.tmp c07-08.25
copy /b sprite03.bin+dummy_00_256k.tmp c07-07.26

コレ追加でいけると思います。要ダミー準備。
bat実行からのCRCは確認済。

一応prom作成用です。
forcecrc32 c07-13.37 1020 3ca18eb3
forcecrc32 c07-14.38 1020 baf2a193
…が、MAMEはpromを入れてもサーガイアの方だけ起動しませんでした。
fbNEOはprom無しで両方動きます。

https://milkchoco.info/archives/8957#comment-5200

サーガイアのROMセットは0.143から先辺りで追加されてまして、
mame2010は0.139なんで、そもそもギリギリ対応してないんですね。
サーガイアもmame0.227では動作します。お騒がせしました。

https://milkchoco.info/archives/8957#comment-5205



doritosさん、バッチの提供ありがとうございました!

まとめのバッチ

必要な物

neo-cmc(新版),bcut,bswap,oddeven.txt 等

スクラップAさんのツール類が必要になります。必要に応じてダウンロードしてください。

forcecrc32 (Windows binary)



Original Author Nayuki Minase


crc32を改ざんするためのツールです。
Windowsバイナリは管理人によるビルドです。

バッチ本体

4
0	0
1	1
2	2
3	3

offset0123.txtとしてコピーアンドペーストで保存します。

bcut.exe game.exe c07-10.95 0x5CF1E0 524288
bcut.exe game.exe c07-11.96 0x64F1E0 524288
bcut.exe game.exe c07-09.75 0x74F5E0 524288
bcut.exe game.exe c07_17.69 0x86F5E0 131072
bcut.exe game.exe c07-12.107 0x90F5E0 524288
bcut.exe game.exe c07-03.12 0xA0F5E0 524288
bcut.exe game.exe c07-03.47 0xA0F5E0 524288
bcut.exe game.exe c07-04.11 0xA8F5E0 524288
bcut.exe game.exe c07-04.48 0xA8F5E0 524288

fsutil file createnew dummy_00_256k.tmp 0x40000
BSwap.exe d B game.exe offset0123.txt 00.bin 01.bin 02.bin 03.bin

bcut.exe 00.bin sprite00.bin 0x2C3D78 262144
bcut.exe 01.bin sprite01.bin 0x2C3D78 262144
bcut.exe 02.bin sprite02.bin 0x2C3D78 262144
bcut.exe 03.bin sprite03.bin 0x2C3D78 262144
copy /b sprite00.bin+dummy_00_256k.tmp c07-06.27
copy /b sprite01.bin+dummy_00_256k.tmp c07-05.24
copy /b sprite02.bin+dummy_00_256k.tmp c07-08.25
copy /b sprite03.bin+dummy_00_256k.tmp c07-07.26

BSwap.exe d B game.exe oddeven.txt odd.bin even.bin
bcut.exe odd.bin c07_20-2.74 0x3678F0 131072
bcut.exe odd.bin c07_21-2.76 0x3878F0 131072
bcut.exe even.bin c07_19-2.73 0x3678F0 131072
bcut.exe even.bin c07_18-2.71 0x3878F0 131072

上はFBNeoで動作するバッチファイルです
M.A.M.E.での動作に必要なダミー生成分は以下になります。

rem dummy for M.A.M.E.
fsutil file createnew dummy_00_1024b.tmp 1024
copy dummy_00_1024b.tmp c07-13.37
copy dummy_00_1024b.tmp c07-14.38
forcecrc32 c07-13.37 1020 3ca18eb3
forcecrc32 c07-14.38 1020 baf2a193

出来上がったバイナリをdarius2d.zipとして保存しましょう。

サーガイア差分

bcut.exe game.exe c07_41.69 0x84F5E0 131072
bcut.exe odd.bin c07_44.74 0x3E7AF0 131072
bcut.exe odd.bin c07_45.76 0x407AF0 131072
bcut.exe even.bin c07_43.73 0x3E7AF0 131072
bcut.exe even.bin c07_42.71 0x407AF0 131072

サーガイアの差分を抽出するバッチです。
darius2d.zipと差分を取ってsagaia.zip圧縮すればOK。

面倒なら全部まとめて入れてもヨシ!


気にする人はRomCenterで調整しましょう。

動作確認

ダライアス2とサーガイア

2画面版になって大きく表示されるようになりました。



さすがに3画面は大きすぎるんでしょうねえ;



仮想フルスクリーンでの表示もバッチリです。二人ともAB型かぁ・・・
IIになってリージョンで日本語と英語が使い分けられるように変わったのが大きいかな?



サーガイアにタイトルが変更されたり戻ったりとなんか謎ですね。

レア版サーガイアについて

一つはダライアス2(無音)で一つはチェックサムエラーになるとの事で
色々CRCやファイル構造を比較したところ、結論として
起動時のチェックサムチェックを飛ばして起動させる必要があるようです。
チートの範囲になるので、分かる方がいらっしゃいましたら情報を寄せていただければ幸いです。

どうもニコイチで再現したとインタビューにあったようなので
そういう曲芸になったのかな?と想像しています。

しめ

バッチは確認していますが、不備などありましたらコメントいただければ幸いです。
まさかダミーカットが来るとは想定外でした
しかし偶然にも半分のcrc情報が拾えてよかったなぁ。しみじみ。

レア版のサーガイアについては
キメラ構成と本体のチェックサム飛ばしが必要と
曲芸なので素直にSteamで遊ぶのが手軽でいいかな?と思ってます。
出来たよ!と言う方がいましたらコメントいただければ。

さて、後は原始島のFDを遊んで動作検証しないと!