003. ゲームのインストール - NullPopPoLab/batocera.linux GitHub Wiki

ゲームのインストール

通常は /userdata/roms/システム名/ 内に所定のファイル形式で配置するだけ。
本家Batoceraでは /userdata/roms/システム名/info.txt
NullPopPoCustomでは /userdata/roms/0000_info_0000/システム名.txt
で仕様が示されます。

他、いくつかの特殊例があります。

グループディレクトリ

システム毎のディレクトリ直下ではなく、サブディレクトリ内にまとめるとグループ化されます。

  • scraperのゲーム毎ディレクトリが共用になる
  • libretroではグループディレクトリ毎の設定がある

といった効果があります。
主に、複数のディスクで構成されるゲームをひとまとめにするために使います。

(注) 本家Batoceraでは設定やセーブ等でディレクトリ名が反映されず、競合し得るため非推奨。

ディスクセット定義

複数のディスクで構成されるゲームは、 ゲーム名.m3u ファイルに改行区切りで
ディスクファイル名を並べることで、ひとつのゲームとして扱います。
このとき、先頭にあるファイルが起動時にドライブへセットされます。

NullPopPoCustomでは一部のコアで機能が拡張され、

  • ディスク以外の媒体に対応
  • 起動時にドライブへセットする媒体の選択
  • ライトプロテクト

といった設定もできます。

アーケード系コアで扱うゲームファイル

他のコアではゲームファイルの内容に変質があっても起動を試すぐらいはできますが、
アーケード系コアではゲームファイルのハッシュチェックが行われ、
一致していないものは使用できないようになっています。

Windowsソフトの扱い

複数の手段があり、それぞれ性質が違います

インストール済フォルダそのまんま

/userdata/roms/windows/ 内にインストール済のゲームフォルダをそのまんま置くと
中の .exe ファイルそれぞれが単品で起動対象になります。
複数の .exe ファイルにも対応する利点ありますが、引数指定はできません。

インストール済フォルダに実行設定を加える

上記のようにゲームフォルダを置いたあと、ゲームフォルダに拡張子 .pc を付け、
その直下に autorun.cmd を記述します。
最低限

CMD=実行ファイル名 引数群

な感じ。
Batocera33までは引数がないときでも区切りの空白必要だったけど
Batocera34からは要らなくなった模様。
他にも設定項目あるけど、EmulationStationからでも設定できるんで
特には要らないはずたぶん。

Wineイメージ

/userdata/roms/windows/ 内に直接Wineイメージディレクトリを置くだけ。

圧縮イメージ

/userdata/roms/windows/ 内に .wsquashfs .wtgz 形式で置く。
実行時に /userdata/saves/windows/ へ展開されるので圧縮する意味はあまりないが、
ゲーム中にイメージ本体を書き換えられたくないときには有用。

インストーラ

/userdata/roms/windows_installer/ 内に .iso ディスクイメージか
インストーラの .exe を置くことで、Wineでのインストール実行を試みます。
(使ったことないからよくわかんない)

レジストリ設定

ゲーム実行前に
/userdata/system/wine/regs/ 内に .reg ファイルを置くと
次回実行時に自動適用されます。
毎回辿るのちとめんどいのと、全ゲーム共通なので
間違えて違うの実行すると違うとこに適用される問題あり。

(NullPopPoCustom拡張) .pc 形式のゲームディレクトリ直下に regs.txt を置くと
次回実行時に自動適用されます。
適用後はファイルが消えて regs_*.log に追記されるので、
コアを変えるときは再記述を要します。

ランタイムでのDISC使用

(NullPopPoCustom拡張) ゲームディレクトリ直下に disc01.iso を置くと
実行時に D: ドライブへマウントされます。
ただし、ファイルシステムとしてのマウントなので
DISCとしては認識されず、CD-DA再生も非対応です。

Winetricks

本家Batoceraではめんどいので説明省略

(NullPopPoCustom拡張) .pc 形式のゲームディレクトリ直下に tricks.txt を置くと
次回実行時に自動適用されます。
適用後はファイルが消えて regs_*.log に追記されるので、
コアを変えるときは再記述を要します。

.bat からの起動

Wineは .bat から起動させてくれないので、それっぽい動作をする .exeを作ってみました。
各行をサブプロセスで実行する性質上 cd とか set とか goto とかは効果ないですが、
間接的に .bat を実行できるので機能としては充分でしょうたぶん。