FinalBurnNeoのビルド M72巻戻し
IREMのM72 MCUを回避
今までも旧版に置換とかやってましたが、今回はきちんと書き換えています。
そのため他環境ビルドでも通ると思います。たぶん、きっと(願望)
追記)RaspberryPi Zero2WでLINUX用SDL2ビルドが無事通りました。
これにより過去のROM抽出で含まれていないMCUにより不動となった
エアデュエル、ミスターヘリの大冒険、レジェンドオブヒーロートンマ
イメージファイトなどがMCUなしに動作可能に戻ります。
7月にNEOGEOCDの動作が大幅改善されているので
(ロード時間ほぼゼロ、UniverseBIOS正式対応)
その恩恵も受けつつ、旧来のROMが使えるというメリットがあります。
M72・M82タイトルはMCUが吸いだされていない物も多いので
今後もDecapが進めば不動になるタイトルは出てくる可能性があります
最近はcaps0ffさん、あんまり動いてないっぽいですが。
人気タイトルは更新直後不動でしたが
現在は無改造でも動作可能に戻ってました(R・Typeシリーズ等)質問が多くて開発側がoptionalにしたっぽい?
ダウンロード
遊ぶだけならここでダウンロードすれば終わりです!
改造したソースコード(d_m72.cpp)と
実行ファイル(Win32/X64)の詰め合わせになります。
ダウンロード(FinalBurnNeoM72mod.zip)
ソースコードのほかの部分はc506408686 2023年10月24日を使っています
d_m72.cppを差し替えてビルドすればWin32/x64ともにビルドが通りました
他のリビジョンでは確認していません。
配布分の実行ファイルはvirustotalで問題ないことをチェック済みです。
MCUって何?
エミュレーター界隈のMCUは通常では読み込めないICの類と思ってください(おおざっぱ)
読み込みできないプロテクトされたROM等を
化学薬品でフタ分だけを溶かし(劇薬!)電子顕微鏡で撮影して
PCからビットを読みだしてダンプしたり、紫外線にあててロックを強制解除して
読めるようにする等の作業をDecappingといいます。
エアデュエルM72の場合はロックビット解除のパターン、4kb(‼)のデータですね。
解読されれば、精度はあがる場合もありますが (地獄めぐり、CPS2 Qサラウンド等)
なくても問題ない場合も多いです(スターフォース等)
MAMEではビープ音1つなるだけでも
吸い出して適応するという厳格さを追求しています。
入手方法が事実上、正規の手段では相当に厳しいため回避しています。
(理論上は顕微鏡写真があれば画像認識で入手可能)
ビルドと解説 (Windows)
ここから先は興味のある人だけ読めばOKです
遊ぶだけならダウンロードで問題ありません。ほぼ忘備録です。
必要なもの
ビルド環境 Visual Studio Community 2022
Desktop development with C++を導入しておく
他にPerlのインストールが必要です
推奨されているのはactiveperlですが
strawberryperlでもビルドに問題はありませんでした。
NASMもインストールする必要があります
インストールだけで自動判定してくれるので楽ちんです。
インストールが終わったらソースコードをダウンロードして解凍します
あとはprojectfile→visualstudio-2022→fbneo_vs2022.slnをダブルクリック
releaseのx86かx64を選び、ソリューションのビルドを行ないます。
改造元のソースコード c506408686 2023年10月24日
改造元の旧d_m72.cpp 1ce72fb 直リンク
改造用の現行d_m72.cpp d131647 直リンク
改造ポイント
MCUを読み込まない旧版のd_m72.cpp(1ce72fb)を改造元にします
そのうえで新版のd_m72.cpp(d131647)に版間で
新規追加や変更されたドライバーをコピペ・修正してビルドすればOKです
新規追加分
rtypem82b // R-Type (Japan, bootleg M82 conversion)
imgfightjb // Image Fight (Japan, bootleg)
rtype2m82b // R-Type II (Japan, bootleg M82 conversion)
Gallop // Gallop – Armed Police Unit (Japan, M84 hardware)
lohtb3 // Legend of Hero Tonma (World, bootleg with i8751)
書き換え(動作させるなら上書き?)
gallop→gallopm72 // Gallop – Armed police Unit (Japan, M72 hardware)
注意点
Gallopなどで呼び出しが6つ宣言されてると言われエラーになる
→末尾の1つを削除すればOk
return DrvInit(common_080000_0a0000, sound_ram_map, NULL, Z80_FAKE_NMI, 0, 0);
赤字部分を除去
return DrvInit(common_080000_0a0000, sound_ram_map, NULL, Z80_FAKE_NMI, 0);
こうすればOk
新規追加分も書き換え分も
ROMは未所持なので動作確認できていません
版間に加えられた改良や修正も反映されません
RomsetがMAME0.259までの変更に追従して変わっていますが
追加分以外は、旧版基準のままになります
Windows版ならファイル名よりもCRC優先なのでそのまま遊べますが。
(libRetro版は厳格なのできっちり合わせないとNGになります)
必要な人は、既存分のROM読み込み部分を書き換えて
MCU部分(だいたい .ic1" )をBRF_PRG→BRF_OPTに書き換えましょう
つまづくポイント
ソースを無修正のままでビルドしても
なぜかVisualC++環境はビルドエラーが出ることがあります。
問題ないはずのドライバーで宣言ないよと怒られたり、ちゃんと宣言してるのに。
特に剣豪とか大工の源さんで謎のエラー吹いて困りました。
別のコミットにするとか、slnを別のバージョンに変えると通ったりします;
そのため、自分の環境下でx86/x64両方ビルド可能だったコミットを記載しています。
一番謎なのはドライバーからROM名から
ゲームリストを生成してビルドするはずなのに
ドライバー書いてないゲーム名が宣言されてないぞって怒られるんですよねぇ
(新規ROM追加時にドライバー以外への追記がないので、一覧追記してるわけでもない)
この辺、過去でやってた宣言してないのにビルド通ってたりするのでホント謎ですね。
しめ
公式が不動だった人気タイトルを動作可能に戻しているので
使う人は俺くらいなんじゃなかろうか?と思いつつ
まぁ改造なんてそんなもんですよね
他の大多数は旧版本体つかうか
海外だと海賊版落とせばいいやって感じでしょうかね。
抽出して使ってる側からするとビルドせざるを得ないわけで。
自分の意図通りに改造できた、という経験値は溜まったのでよしとします。
ディスカッション
コメント一覧
どうもですー
KOF2003のPROM暗号化は無理すぎたので諦めてPROM復号化済みの
新セットを追加することにしたのでちょいとこちらに寄らさせていただきました
KOF2001に関しては新しいMAMEコアだとエンディングでリセットかかってしまうので
プレイするに当たってはコアが古いままのCreammymamiさんの
CANAME(ソースは会員になると落とせるみたいですというかパクるな)で乗り切ったんですが
最終的な妥協案として今までの分もFB neoに追加しようと思いました
KOF2003も似たようなコードで書かれてるのであれば移植できそうなので
他に自分がHBMAMEに追加してたやつも追加しようと思ってます
fbaかなんかは大昔にビルドしましたがどうやってたか覚えてないです
最近のでもVS2019でやるのがいいんではないですかね?
意外と今でもVS2022よりVS2019推奨してるソフト多いので念のため両方入れてます
とりあえず報告というかM72のも参考にさせてもらいますねー
公式以外のこのビルド使うのここにもいますよ(ΦωΦ)フフフ…
でわでわ
私のめっちゃ雑に弄ったコードは、ご自由につかってください
けっきょく増えてるドライバーを書かないと
ビルドできないっていう謎が解けないままですが。
ああ、クリーミーマミさん所も登録すればソース拾えたんですね
(あやしいところなので登録してなかった)
FBA時代はIQさんがウェブブラウザから
ドライバを簡易に書けるツール公開してたんですが
FBNEOとは違うのでダメっすねえ;
自前ビルドする方が他にもいたようで安心しておりますw
結局KOF2003(AES)のPROM復号化セットは自分が出したセットで正解でした
これに則ってMVS版のPROM復号化セットも正解が出てきます
自分がやる今になるまでなぜこの2セット出てこなかったのか謎です…
HBMAMEとかFBneoで採用してくれたらありがたいんですが無理なのかなぁ…
kof2003dセットはやっぱりPCB版とのキメラハックでした
基板持ってる自分は動作するわけないって知ってるので完全にPROM弄られてますね
自分はkof2003dセット削除することにしましたw
IQさんは自前の勝手移植シリーズ追加していってますよねぇ
FBNEOのネオジオのコードはMAMEのそれとは全然違っててポンコツな自分では
半透明で動く新セットは追加できそうにありませんでした…
半透明なしならいけそうなんですが…
結局自分は当分HBMAMEで追加かもしれないですw
今になってプログラムを覚えていくのはなかなか大変です…
FBneoのCRTシェーダーとかは魅力なんですけどねぇ
マミさんCANAMEのソースは出処という意味のソースみたいでした… 残念
オリジナルの大昔のソースならHDDの何処かにあるんですが今更いじりたくないわけで…
でもこれだとKOF2001がリセットかからないとか利点はあるんですよね…
MAMEのネオジオドライバはだいぶん前に
完全にフルスクラッチされたような覚えがあるのですがリセットバグ残ってました
しかしマミさんよくアレをずっと更新しているなとは感心しますね…
頭痛くなると思うんですけど…
デキる人は違うのかな?
kof2003は決着ついたようで何よりです
HBMAMEやFBNEOならプルリクエスト出したらいいんじゃないでしょうか
(自分はやったことないのでアレですが)
見てる限りだとFBNEOは勝手にドライバー増やして追記されてる感じなんですよね
IQさんは別システムをNEOGEOに移植してますね
銀河任侠伝まで候補に入っててすごいなあと
ただアマゾンは実機だとダメだったポイ?
FBNEOのドライバは記載がよくわからんことがしょっちゅうです;
いちばんは一昔前のUIを今風にしたらいいのになあと
PCSX2はDuckStation作者のおかげでUI更新できましたが
めっちゃ大変だったようなので、そうそうできるもんじゃなさそうです;
CRTシェーダーはPCに余力あると気分が変わって楽しいですね
MAME系もbgfXにCrtGenomeでそこそこいい感じです
まぁretroarchからですよね、シェーダーが派手に使われだしたの。
やっぱクリーミーマミさんは、現ソースを公開してないんですね
日本国内の改変MAMEがみんな死んでいった中で
雷豆すら更新止めたというのに、それより前のコアのまま
現在に合わせて更新してるのが恐ろしいですね;できる人はちがいますな。
ソースコード公開するとすぐにシュバってくるランチャーもあるので
作者側の気持ちとしては、非公開もわからんでもないですがね;
色々ソース見比べてたんですが
FBneoはネオジオドライバ一つにROMセットを全部書くという恐ろしいやりかたの上
KOF2003に関してはやはりPCB版、MVS版、家庭用版、海賊版、更に暗号化等の問題があり
現状かなりややこしいということが判明したので
自炊でなんとかするにはFBneoに関しては復号化分を素直に暗号化する方が
一番だと思います(半透明処理無しならセット追加のみですぐいけると思いますが)
以前のFBAと全く変わってるのでソース見てるだけで頭痛かったです
日本語対応もめんどくさいですよね…
HBMAMEなら最初からハック用として公開されているものなので
追加は他のを参考にすればいいのでやはり簡単でした
kof2003dというキメラハックセットをバラまいた人間には怒りしかありません(マジで)
それのせいで謎がなかなか解けませんでしたから
あのセットは名前変更するべきです!(言い切ります!)
プルリクしてpushとかなんかゴタゴタに巻き込まれるの嫌なので(Issuesみて察しました)
自分はやりたくありませんw
IQさんは自分でどんどん追加していってますよねw
KOF2003に関してはすでに相当時間取られたうえ自分の性格上やってたら他の事が
何もできなくなるのでとりあえず暫定版で終了しておきました
誰かがPROM暗号化してくれるか自分の暇なときの勉強が追いつくかどちらかですw
KOF2001もMAME系では未だにリセットかかるとか他の問題も出てきたので
ネオジオ暗号化分はもう潮時と思いましたw
誰かに任すしかないです
この辺の問題の条件を満たせるソースとバイナリ持ってるのマミさんのなのでやはり
マミさんにやってほしいと思いますけどw
MAME系にもかなり強力なCRTフェーダーについてるの思い出しましたが
これも際限なくハマってしまうやつと気づいたのである程度にしておこうと思いましたw
FBneo動作が軽いのとそこそこ安定して動くのはいいんですけどね
FBNEOのドライバーFBAのころとは全然違うんで困りますよね、やっぱ2003は鬼門ですなあ;
日本語リストはTSVエディターで
MAMEの日本語リストとにらめっこするしかないのですが
何かのきっかけて本体ごと落ちることがあるので怖いです
しかも設定ごと吹っ飛ぶこともあるので、別に用意した環境で確認しないとこわいこわい
2003dとかあの辺ってかなり手探りなカオス時代だったと思うので
そこら辺がいまだに残ってるんでしょうけどねえ;
SNKがバージョンごとに違う暗号化まぜ混ぜして頑張った結果とも言いますが
IQさんとか主要メンバーはガンガン増やしてますね
あれこれ恐ろしくて自分も自ビルドで弄ればいいやってなってます;
MAMEでKOF2001リセット再発ですかぁ
マミさんも本家への反映しなさそうに思いますけどね;
あの辺のバージョンが一番軽くて使いやすかった気がします(精度お察しですが)
しかしMAMEもちょいちょいバグ復活しますね
グラディウス系が一番安定するのはどのバージョンなのかといつも思ってたり
FBNEOは軽くてある程度精度があって
そこそこ遊べるというバランスの良さがいいですね
厳密さならMAMEになりますが、もうちょっとUI回りを何とかしてほしいところ
なんにせよKOF2003たいへんお疲れさまでした。
次の復刻ではもうちょっと抜きやすい会社が出してくれるといいんですけどねえ;