Lr-fbneoをカスタムビルド
CRCチェックを無効にします
注意点として雑にCRCチェックを無効化しているので
動作しないROMの場合、帰ってこれない可能性があります。
ほめられたやり方ではないですが、MAME2000や2003extremeみたいに
エラーを無視するオプションを付けてくれない上に
オリジナルよりもCRCに厳格なのは、やめて欲しいところ。
ビルド済みバイナリとソース
ダウンロード
下記CRC無視の修正済みlibretro.cppと他ソース
Raspberry Pi4 x64用ビルド済libretroコアが同梱
ビルド環境はbullseye x64、同環境なら(たぶん)そのまま利用できます
Buster x64でも動作するかもしれませんが未検証です。
別環境や動作がおかしい場合は
src/burner/libretoro/fbneo_libretro.so を削除しご自身でビルドして下さい
オリジナルのlibretro.cppはlibretro.cpp.bakとして保存してあります。
配布のライセンスはこちら(英文)になります。
下準備
いつもやっている最新ソースにm72を巻き戻しをすると
Burn.oでエラーが出てビルドできませんでした(そこら辺も戻せば行けそうですが)
(めんどうなので)m72変更前のソースをCRCチェック無効にしてビルドします。
ソースのダウンロードと解凍
m72update前かつ /src/burner/Libretro があるコミットを選びました
解凍するとFBNeo-0d8c00b9f18aa4f83cbaf8cbf5e4f46889d35c4aと言うフォルダーができます
libRetroフォークのコミットでもburnerフォルダに
Libretroがある物(派生)とない物(本家)が混在しているので注意です。
libretro.cppを書き換え
FBNeo-0d8c00b9f18aa4f83cbaf8cbf5e4f46889d35c4a\src\burner\libretro 内にある
libretro.cpp内のCRCチェックを全て潰します。
X11なら好きなテキストエディタでOK、ファイルをWindowsで編集するのもよし。(notepad以外)
書き換え前
書き換え後
ignoreCrcで検索し814行目と827行目と840行目の
located->ignoreCrc = false;をlocated->ignoreCrc = true;に書き換えます
ビルド
CRC処理を無視させる変更が終わったらビルドします
ここではRaspberry Pi用のビルドを解説していますが
WindowsやOSXやLinux他のコアビルドも可能です(完走するかは未確認)。
ユーザーはpiを想定していますが
最近のOSではpiユーザーがない場合もあるので、その場合は適宜書き換えをお願いします
自分の場合はRaspberry Pi4で64bitなので下記になりました
platform= はrpi1,rpi2,rpi3,rpi3_64,rpi4_64 とあるようなので(makefile参照)
機種およびOS環境に合わせて変更した上で実行して下さい、時間は長時間かかります
コアファイルの差し替え
RetroPieのlr-fbneoコアを差し替える場合は以下になります
元々のコアをfbneo_libretro.soからfbneo_libretro.so.bakにリネーム
その後、コピーして入れ替えます。
X11で動くretroarchをインストールしている場合は(PIKissだかPiAppで出来たはず)
コアの追加でビルドしたfbneo_libretro.soを指定すれば読み込んで動作可能でした。
動作確認

前回はCRCエラーでロードできなかったdigdugがプレイ可能になりました。

m72修正前なので、RTypeも動作OKです。
※NEOGEOで一つエラーで起動不能がありましたが
NEOGEOの場合、CRCエラーがある物はレアなのでそのままにしています
〆
ネックとしてはm72巻き戻しがエラー出るので対応が面倒くさいなぁと
RetoroPieではコア更新する必要もないでしょうから、コレでいいかなと
新しい物がよいなら、Raspberry Piなら本家SDL2版をビルドして動かせば事足りますね
公式ビルドがなくCRCエラーの回避方法がない
AndroidやMiyoo miniなんかは役立ちそうですが
そっちのクロスビルドは面倒くさいので追々ということで
ディスカッション
コメント一覧
まだ、コメントがありません