いいえ。わたしは遠慮しておきます。

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

アケアカ KOF2001(Android)のROM抽出

前提としてすべて復号化されたROMになっています。
そのためFBNeoのKof2K1fd(Fully Decrypted)のセットで遊べる形です。

手動でCとMを再度、暗号化すれば
MAMEでも使えるKof2001hのセットを生成することは可能です。

抽出の前提条件は以下の記事を参照にしてください



ちなみにUBUNTUだとBinwalkと端末に打ち込めば
未インストールでは、インストール方法教えてくれるので
そのままインストールできてWSLでも動作します(約1GB消費)

kof2k1fdの抽出

実行に必要なファイルは


スクラップAさんのサイトからダウンロードをお願いいたします。

binwalk -e lib_neogeo.so

WSLからBinwalkをかけてファイルを分離します。

ターミナル(端末)の基本コマンドや操作の概念は
入門書やマニュアルを購入して、ご自身で学ばれるようお願いいたします。
完全自動抽出は、意図的にあまり行わないようにしています。

3EA93E	131,072	  6D209796			
1EFE54	5,373,952	EF88B336			
1E7290	5,505,024	540F95D5			
1BBB64C	16,777,216	F5314040			
15F2644	16,777,216	5385CE84			
43EE60	16,777,216	D9C8A247
1023D28	16,777,216	740D2D61
A0788C	16,777,216	7B8536DC

自分の所持しているバージョンでは上記のようになりました
バージョンやリビジョンやAndroidのSoC環境等で変動するので
CRCで判断して各自で差し替えるようにしてください。

rem kof2k1fd.zipの生成

rem P
bcut 1EFE54 262-pg1.p1 0 1048576
bcut 1EFE54 262-pg2.sp2 0x100000 4194304

rem M
bcut 1E7290 262-m1d.m1 0 0x20000

rem S
copy 3EA93E 262-s1d.s1

rem V
bcut 1BBB64C 262-v1-08-e0.v1 0 0x400000
bcut 1BBB64C 262-v2-08-e0.v2 0x400000 0x400000
bcut 1BBB64C 262-v3-08-e0.v3 0x800000 0x400000
bcut 1BBB64C 262-v4-08-e0.v4 0xc00000 0x400000

rem C
BSwap d B 43EE60 oddeven.txt 262-c1d.c1 262-c2d.c2
BSwap d B A0788C oddeven.txt 262-c3d.c3 262-c4d.c4
BSwap d B 1023D28 oddeven.txt 262-c5d.c5 262-c6d.c6
BSwap d B 15F2644 oddeven.txt 262-c7d.c7 262-c8d.c8

mkdir roms
copy 262-********.** roms\
powershell compress-archive roms/* kof2k1fd

これでFBNeoなら遊べるROMが生成されます。

Kof2001hの抽出(上記が終わっている前提)

ポイント
CROMとMROMの再暗号化が必要になります
バッチ組むの面倒なんで作る人は頑張ってください。

Cの再暗号化

スクラップAさんのNEO-CMCを改造してビルドしました

testmain.cpp
17行目の3:kof2000をkof2001へ変更
48行目のKOF2000_GFX_KEYをKOF2001_GFX_KEYに変更



これで3番の指定がKOF2000からKOF2001に変わります。
とりあえず改造済のNEOCMCはこちらからどうぞ。

Rem CRomの再暗号化と分割.bat

copy /b 43EE60+A0788C+1023D28+15F2644 dec_C.tmp
NEOCMC.exe dec_C.tmp 67108864 enc_C.tmp 1 3 -1
BSwap d B enc_C.tmp oddeven.txt odd_enc even_enc

bcut odd_enc 262-c1-08-e0.c1 0 8388608
bcut odd_enc 262-c3-08-e0.c3 8388608 8388608
bcut odd_enc 262-c5-08-e0.c5 16777216 8388608
bcut odd_enc 262-c7-08-e0.c7 25165824 8388608
bcut even_enc 262-c2-08-e0.c2 0 8388608
bcut even_enc 262-c4-08-e0.c4 8388608 8388608
bcut even_enc 262-c6-08-e0.c6 16777216 8388608
bcut even_enc 262-c8-08-e0.c8 25165824 8388608
NEO-CMC 入力名 バイト数 出力名 (暗号1復号0)(タイトル番号)CROM-1 それ以外はVROM(SWAP値)

Mの再暗号化

Iq132さんのM1復号・暗号化ツールを使います。

#81 on: January 26, 2024, 12:21:08 AM に添付された
m1_tool.zip をダウンロードし
作業フォルダーにm1_tool.exeを解凍しておきます。

>m1_tool.exe
Please enter name of the file you wish to en/de-crypt:
262-m1d.m1
(E)ncrypt or (D)ecrypt?
e
Encrypting file 262-m1d.m1

上記のようにm1_tool.exeは対話型になっているので
コマンドラインから実行すると、変換したいファイルを聞いてきます。
262-m1d.m1を入力し(E)暗号化か(D)復号化かを聞いてくるので
Eを選んで暗号化処理させれば、262-m1d.m1-encryptedが作られて下ごしらえが終わります。

ダミーの生成と結合

# 任意の名前
$filePath = "dummy_00_128k.bin"
# 任意の容量
$fileSize = 128kb
# 00で埋める
$fillByte = 0x00

#書込
$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で実行する。dummy_00_128k.binが作られたらOK

copy /b 262-m1d.m1-encrypted+dummy_00_128k.bin 265-262-m1.m1

暗号化したM1とダミー128kを結合させると
CRC一致の265-262-m1.m1が完成します。
しかしなんで265-262なんでしょう?あとFF埋めじゃないのも謎。

ZIP圧縮で完了

後は暗号化済みのCとMを
既存で抽出したPとVを合わせて圧縮すれば完了です。
Sは不要なので問題ありません。

rem Kof2001h.zip

mkdir kof2001h
copy 262-c*-08-e0.c* kof2001h\
copy 262-v*-08-e0.v* kof2001h\
copy 265-262-m1.m1 kof2001h\
copy 262-pg1.p1 kof2001h\
copy 262-pg2.sp2 kof2001h\
powershell compress-archive kof2001h/* kof2001h

変換に問題やミスがありましたらコメントいただけると幸いです。

動作確認

対戦としてはフォクシーがぶっ壊れすぎて
完全に破綻してしまった本作ですが
対CPUで遊ぶならハチャメチャで面白いです

ヴァネッサさん好きなんですけど、最近みかけなくてねえ
あ、雛子もほとんど見ない気がする。
アンヘルとK9999(クローネン)は復活しまくってるというのに!

最近のKOFはチャンとチョイがいないんですよ?(絶望
3Dになってから妙に弱かったし、色物に冷たくて悲しいですわ。

元ネタ

メガネが超鬼畜ムーブしてるのが、なんとも言えない味ですね

しめ

なんとなく天からお塩じさんを聞きたくなったので頑張ってみました

個人的にはneo-cmcやっとVSでビルドできてほっと一安心。

フォルダを読み込んだのちに、プロパティで
サブシステムコンソールにしないとハマるので注意です。
この書き換えを似たような感じでやれば、KOF2003のCやVもいけると思います。
この場をお借りして、スクラップAさんにはソース公開頂いたことに感謝を。

さてはて、次はどうするかなぁ。