雑記 NEO-CMCの自家ビルド
忘れるので忘備録(メモ)です
NEOGEOのROMは復号化されているものがたま~にありまして
任意のタイトルのCやVを暗号化したいときには
NEO-CMCを改造するのが便利です。
自分が度忘れしがちなので、せっかくなので記事にしてみました。
下準備
VisualStudio2022をインストールします
参考)
一般的なオプションを選べば問題ないと思います。
後から必要になった場合は追加できるので、気楽にやりましょう。
スクラップAさんのサイトからメタルスラッグコンプリート用の
MSC_extract_v2.zipをダウンロードします
任意のフォルダーに解凍しておきます。
VisualStudioにプロジェクトを作成
コードなしで続行を選びます。
新規作成→既存のコードからプロジェクトを作成を選びます。
ウィザードが立ち上がるのでVisual C++を確認して次へを押します。
プロジェクトファイルの場所は
(解凍先の任意のドライブとフォルダー)¥src¥neo-cmc を選びます。
プロジェクト名を任意の名前にします。
自分の場合は、改造するのでMODを追加しておきました。
入力が終わったら、次へを押します。
プロジェクトのビルド方法で
VisualStudioを使用するの中のプロジェクトの種類を
コンソール アプリケーション プロジェクトに変更します。
操作が終わったら完了を押します。
これでslnファイルが生成されるので
次回からはslnをダブルクリックすれば、この画面になります。
画像では17と記載がありますが、vs2017もインストールされているからです。
完了後にRelease x86を確認しておきます
あとは自分でソースコードを変更してビルドすればOKです。
変更ポイント
testmain.cppを書き換えて自分が暗号化したいタイトルに変更します。
どうやってタイトル名_GFX_KEYが分かるのかというと
prot_cmc.hの中に対応しているタイトルが記載されているのでコピペでOKです。
例えばKOF2003のCを暗号化したいなら
コピペでtestmain.cppのcaseの中から
KOF2003_GFX_KEYと入れ替えればOK
KOF2003、ROTD、PREISLE2、ZUPAPAとかは有用かもしれません
タイトル網羅してくださったスクラップAさんに感謝感謝。
int titleflag = 0; //0:ZUPAPA 1:PREISLE2 2:ROTD 3:kof2001 4:SAMSHO5 5:samsh5sp 6:KOF2003 7:mslug5
//(略)
switch (titleflag) {
case 0:
extra_xor = ZUPAPA_GFX_KEY;
break;
case 1:
extra_xor = PREISLE2_GFX_KEY;
break;
case 2:
extra_xor = ROTD_GFX_KEY;
break;
case 3:
extra_xor = KOF2001_GFX_KEY;
break;
case 4:
extra_xor = SAMSHO5_GFX_KEY;
break;
case 5:
extra_xor = SAMSHO5SP_GFX_KEY;
break;
case 6:
extra_xor = KOF2003_GFX_KEY;
break;
case 7:
extra_xor = MSLUG5_GFX_KEY;
break;
ダウンロード
ね?かんたんでしょ?
上記でビルドしたものがこちらになります(実行ファイルとソース同梱)
全てで動作確認できていないので、うまく暗号化できるか分かりません。
ソース込みで公開してくださったScrapA様には、この場で感謝申し上げます。
〆
今回はビルドと自家改造について触れてみました
まぁおそらく、ほとんど需要はないでしょうね(´・ω・)
凄いのはコード書いてるプログラマーさんであって
自分みたいなのは、ざぁこざぁこなのです
なので皆さん気後れせずにビルドしましょう!
で、ビルド繋がりですがFBNeoは開発者さん曰く
x86推奨でx64はバグがあるから非推奨だそうな(詳細不明)
公式見ててもWin x64のビルドボットで
ちょいちょい失敗しがちなのでビルドに失敗する!
という人はx86のがいいかもしれません。ダメな時はダメですけどね!
あとkarilleraのDLLはx86のみなので、x64では動かなくなります
(いまさらkarilleraで通信対戦しないけど)
まぁそっちはGGPO対応のファイトケード2の方がいいでしょうね
ただしファイトケードはFBNeoのlicense違反だと
本家に切れられていますし、本家にもGGPO対応の予定はあるようです
(実装は可能だけど手を付けるかは別問題)
ディスカッション
コメント一覧
まだ、コメントがありません