PrimeGaming(NEOGEO)のRom抽出 pt2
Prime Gaming 最終更新
コレで新規NEOGEOタイトル分は最後になります
戦国伝承(SNK)とマジシャンロード(アルファ電子)(ADK)の作品です
双方共に荒削りな作りが黎明期な時代を感じさせますね
過去の抽出は上記からどうぞ。
実行に必要なromcutterやtile2cromなどは
ブログカードがダメなときはこちら
上記のAndroidアプリからRomを抽出する
記事内に全てありますので、各自ダウンロードして下さい。
お約束ではありますが、抽出は自己責任で行うようお願いいたします。
抽出したROMファイルを公衆配信すると著作権法に抵触します、厳禁。
戦国伝承
# sengoku.zip
S
copy s2.bin 017-s1.s1
M
copy m1.bin 017-m1.m1
P
#バイナリエディタで編集
p1.bin 0x115 02→00
romcutter p1.bin 017-p1.p1 0 80000
romcutter p1.bin 017-p2.p2 80000 20000
V
romcutter v1.bin 017-v1.v1 0 100000
romcutter v1.bin 017-v2.v2 100000 100000
C
017-c1.c1 StartAddr:0 Odd_or_Even:0 SplitSize:100000
017-c2.c2 StartAddr:0 Odd_or_Even:1 SplitSize:100000
017-c3.c3 StartAddr:100000 Odd_or_Even:0 SplitSize:100000
017-c4.c4 StartAddr:100000 Odd_or_Even:1 SplitSize:100000
tiles2crom.exe c1.bin
この頃って難易度がおかしいタイトル多かったような・・・
マジシャンロード
# maglord.zip
S
copy s2.bin 005-s1.s1
M
#64kb分切り出し
romcutter m1.bin 005-m1.dat 0 10000
#64kbをFFで埋めたDummyを使用 dummy_ff_64k.bin
#Dummy作成は後述
#64kb分切り出し+Dummyで128kb
copy /b 005-m1.dat+dummy_ff_64k.bin 005-m1.tmp
#二重化して256kb
copy /b 005-m1.tmp+005-m1.tmp 005-m1.m1
P
#バイナリエディタで編集
p1.bin 0x115 02→00
romcutter p1.bin 005-pg1.p1 0 80000
V
romcutter v1.bin 005-v11.v11 0 80000
romcutter v1.bin 005-v21.v21 80000 80000
romcutter v1.bin 005-v22.v22 100000 80000
C
005-c1.c1 StartAddr:0 Odd_or_Even:0 SplitSize:80000
005-c2.c2 StartAddr:0 Odd_or_Even:1 SplitSize:80000
005-c3.c3 StartAddr:80000 Odd_or_Even:0 SplitSize:80000
005-c4.c4 StartAddr:80000 Odd_or_Even:1 SplitSize:80000
005-c5.c5 StartAddr:100000 Odd_or_Even:0 SplitSize:80000
005-c6.c6 StartAddr:100000 Odd_or_Even:1 SplitSize:80000
tiles2crom.exe c1.bin
Mがちょっと面倒くさいことになってました。
稼働してるの見たことなかったタイトルです
地獄のファイトフィーバーよりマシかな?
FFで埋めた任意サイズのバイナリを作る
Windows Powershell用 (5.1で確認)
# 任意の名前
$filePath = "dummy_ff_64k.bin"
# 任意の容量
$fileSize = 64kb
# 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()
任意名称.PS1で保存、右クリックからPowershellで実行
batファイルからの呼び出しで、ダミー作成からの連携も可能な(ハズ)
ただしバージョン間差異での動作不良はあるかも。
7や8の人は問題が出た場合、アップグレードしましょう。
〆
記述のミスなどありましたら
コメントいただければと思います。
マジシャンロードでわりと苦戦しましたが
あれこれやってたらなんとか出来ました。
今後はナイショの他タイトルを進めるか、他を探すか悩み中です
やる気がある人はさっさと自分でやってるでしょうし。
メタルスラッグ?
復号化ROMは調整してると、こんな感じになるのでお察し下さい。
復号状態でパッチ当てられてると地獄すぎる
そこら辺の情報なんかは、20年位経っててどうにもこうにも。
ディスカッション
コメント一覧
いつもお疲れ様です
Prime Gamingのネオジオゲーム終わったので一段落というところでしょうか
自分もメタルスラッグ4以外終わらせましたがw
ffで埋めるダミーファイルの作り方参考になります!
パワーシェルでできたのですね!目からウロコです
これは便利ですね
全く知らなかったです
便利なのでちょっと自分が馬鹿なことやってた
ブログ記事の参考にリンクさせてもらってよろしいですか?
パワーシェルの使い方も覚えなくてはならんですね…
メタルスラッグ4に関しては色々と無理すぎるっぽいので一切手を付けてませんw
某音楽プレイヤー用になんだかアヤしいm1とVROMだけ抜き取りました
で、ミンナニ ナイショダヨのほうですが最新の風雲黙示録やりましたが
何故かm1のみCRC合わなかったんですが既存のものと2バイト違うという結果が出ました
今更ですが「既存のもの」には突っ込まないでくださいねw
ヘッダ部分付近なのでおそらく動作には影響ありませんが
時々出てくるこういうのはなんなのか謎です
他に自前でAndroid版を吸い出したやつでもその部分見てみましたが
確かに00以外の数値が入ってるゲームありました
謎です
それ以外はリアルバウト餓狼伝説スペシャル並の簡単なものでした
特に対策されていませんでした
しかし発売されたばかりなのでやはりまだ自分のブログのメモにも載せていません
今回のアマプラ分0x115の変更は意図的なものと思われます
なんせラズさんのUNIBIOSのデータベースに合うものがないので
餓狼伝説3とリアルバウト餓狼伝説はP1 NG(RBは古いハッシュには合います)で
CROMどうやって並べ替えればいいのか分かりづらく本当に難しいので
僕はもう手を付けてないですw
共通で使用するC1,C2までで諦めましたw
手動解析してるので厳しいですw
できそうであればやってみてくださいw
まぁ元々アケアカネオジオなのでAndroid端末で遊んだらいいんですけどw
まぁ自分は単なる好奇心でやってるだけなので・・・
ただ新しい発見もありましてソニックウイングス2と3のサウンドドライバに
ドライバ作者の名前が入ってるというのがありました
自分もこれは知らなかったので
こんにちはしげるさん
リンクは公開ブログなのでご自由にどうぞなのです!
ねぎらいのコメントありがとうございます。
Powershellは実のところchatgptに書かせてますw
それを検証して、ダメならダメ報告入れるとだいたい次のが出てくるので
成功するまで繰り返すって感じですね。
とは言え、それを読み解いて勉強するので、まったくゼロにはならないのですが。
風雲黙示録はなかなかにいいゲームですが
謎の不一致ですか、なんでしょうねえ。社内開発用なのか意図的なのか悩ましいですね。
日本じゃサッパリ当たらなかったらしいですけどw
こういう復刻物でROMのCRC不一致ってのがよくあるのですが
中身を覗くとコメントだったりクレジットだったりがあるので
リリース時には消去していて不一致なのかな~って勝手に想像しておりますw
そう考えると、本当は別バージョンと言ってもいいのかもしれません
中にはクレジット表記変更とかで大幅に変わってるのもありますけどもね・・・
マジシャンロード、64kb分切り出し部分の引数、正しくは10000ではないでしょうか。
ご確認お願いします。
romcutter m1.bin 005-m1.dat 0 20000
↓
romcutter m1.bin 005-m1.dat 0 10000
akiさんコメントありがとうございます
はい、めっちゃ間違えておりました;申し訳ないです。
速やかに修正させていただきます、ご指摘ありがとうございました!