RetroPie覚書。

Raspberry Piで動作するマルチエミュレータ「RetroPie」の覚書。バージョンは4.4以降を使用。

海外フォーラムやGitHubのソースを見ながらメモってるだけなので動作確認はしていないらしい。

事前準備

  1. WindowsPC上で、microSDカードを「FAT32」でフォーマットする
    • microSDの容量が32GByte未満の場合は、何も考えずにフォーマットでOK
    • microSDの容量が32GByte以上で、ラズパイ用に使用したことがない場合
      1. SD card Formatter 4.0を起動
      2. ボリューム名がそのままホスト名になるので、「RaspberryPi」とかにしておくと良い
      3. オプション設定 → 消去方法を「イレースフォーマット」、論理サイズ調整を「ON」 → フォーマット
    • microSDの容量が32GByte以上で、ラズパイ用に使用したことがある場合
      1. Windows10(XPじゃ無理 ^^;)の管理ツールで全パーティションを削除
      2. FAT 32 Formatterでフォーマット※リンク先の画像をクリックでDL
  2. RetroPieを入手し、解凍する
  3. microSDにイメージを焼く
    1. Win32 Disk Imager v0.9を起動※XPはこのソフトしか動かない
    2. Image FileへRetroPieのimgファイルをドラッグ&ドロップ、DeviceはmicroSDカードを挿したドライブを選択 → Write

初期設定

  1. Raspiにゲームパッドとキーボードを接続※初回にBluetooth機器はお勧めしない
  2. RaspiにmicroSDを挿して電源投入
  3. RetroPieが起動したらゲームパッドのAボタンを長押し → キーコンフィグ → 「OK」※「HOTKEY」はエミュレータの終了等に必要
  4. STARTボタンで「MAIN MENU」を表示 →
    1. 「SOUND SETTINGS」 →
      1. 「SYSTEM VOLUME」 → 「100%」※音量
      2. 「ENABLE NAVIGATION SOUNDS」 → 「OFF」※キー操作音
    2. 「UI SETTINGS」 →
      1. 「QUICK SYSTEM SELECT」※ゲームリスト画面で←→でシステム選択可能
      2. 「CAROUSEL TRANSITIONS」※システム選択画面のアニメーション
      3. 「TRANSITION STYLE」 → 「INSTANT」※画面遷移のエフェクト
      4. 「GAMELIST VIEW STYLE」 → 「BASIC」※ゲームリスト画面のレイアウト、SCRAPERを実行しないと無意味
      5. 「START ON SYSTEM」※起動時に表示するシステム
    3. 「OTHER SETTINGS」 → 「SAVE METADATA」 → 「NEVER」※gamelist.xmlにプレイ回数やプレイ日時が記録されなくなる
    4. Bボタンで前画面に戻る
  5. システム選択画面から「RetroPie」を選んで(最初はそれしかないハズ)、Aボタンで設定画面へ
    1. 「RASPI-CONFIG」 →
      1. Hostnameを変更する
        1. パッドの↑↓で「System Options」を選択
        2. パッドの←→で「Select」を選んで、Bボタンで決定
          1. パッドの↑↓で「Hostname」を選んで、Bボタンで決定
          2. 注意書き画面をBボタンでスキップ
          3. 任意のHostnameを入力
          4. パッドの↓で「Ok」「Cancel」の選択に移動
          5. パッドの←→で「Ok」を選んで、Bボタンで決定
      2. microSDの容量を拡張する※RetroPie v4.4くらいから自動化された
        1. 「Advanced Options」 → 「Expand Filesystem」
        2. Would you like to reboot now? → 「Yes」
      3. 再起動…
      4. 画面端の黒枠を非表示にして画面全体に描画
        • 「Advanced Options」 → 「Overscan」 → 「No」
        • 「Display Options」 → 「Underscan」 → 「No」※RetroPie v4.7以降はコチラ
      5. 「Localisation Options」 →
        1. 「Change Locale」 → キーボードの↓で「ja_JP.UTF-8 UTF-8」に合わせ、スペースキー → 「*」が付いたのを確認したらキーボードのリターンキーで決定 →※「en_GB.UTF-8 UTF-8」に付いた「*」は外さない
          1. 「en_GB.UTF-8」を選択して「OK」※JPは文字化けするから選んじゃダメ
        2. 「Change Timezone」 → 「Asia」 → 「Tokyo」
        3. 「Change Keyboard Layout」」 → 「Generic 105 (Intl)」 → 「Other」 → 「Japanese」 → 「ODAG 109A」 → 「No AltGr key」 → 「No compose key」
          • キーボードの種類を見分ける目安について
            右下に「かな」キーがあり…
            • アプリケーションキーなし、Windowsキー1つ → OADG 106
            • アプリケーションキーあり、Windowsキー1つ → OADG 108
            • アプリケーションキーあり、Windowsキー2つ → OADG 109
        4. 「Change Wi-fi Country」 → 「JP Japan」
    2. 「WIFI」 →
      1. 「Connect to WiFi network」 → 任意のSSIDを選択 → パスワードを入力※IPアドレスが表示されたら接続成功
        • SSIDとWEPの格納場所
          /etc/wpa_supplicate/wpa_supplicant.conf
    3. 再び「RASPI-CONFIG」 →
      1. OSを最新にする
        1. 「Update」
    4. 「RETROPIE SETUP」 →
      1. RetroPieと各エミュレータのアップデートを行う
        1. 「RetroPie-Setup script」を更新する※エミュレータのUpdate前に必ず実行!
          1. 「Update RetroPie-Setup script」
        2. 「Manage packages」 →
          1. 「Manage core packages」 → 「Update all installed core packages」
          2. 「Manage driver packages」 → 「xpad」 → 「Update (from source)」
          3. 「Manage main packages」 → (略)
            • 不要なエミュレータもばんばんremoveしていく
          4. 「Manage optional packages」 → (略)
          5. 「Manage experimental packages」 → (略)
    5. 「CONFIGURATION EDITOR」 →
      1. 「Configure basic libretro emulator options」 →
      2. 「Configure default options for all libretro emulators」 →
        1. 「Video smoothing」 → 「false」※ドットのにじみを回避
        2. 「Aspect Ratio」 → 「2 - 16:10」※所謂PCモニタの比率
          • 家庭用TVなら「1 - 16:9」※非力なRaspiZeroでは「21 - square」が良いのか???
        3. 「Render Resolution」 → 「Video output resolution」※PC系エミュの文字潰れを回避
        4. 「Video Shader Enable」 → 「unset」※お好みで
        5. 「Player 1 - use analogure stick as d-pad」 → 「1 - left-stick」※アナログスティックでも操作可能になる
      3. 「Configure additional options for atarilynx」 →
        1. 「Aspect Ratio」 → 「22 - core」※縦/横の切り替えで画面比率が変わるため
      4. 「Configure additional options for gameandwatch」 →
        1. 「Aspect Ratio」 → 「22 - core」※縦画面モノもあるため
      5. 「Configure additional options for mame-libretro」 →
        1. 「Aspect Ratio」 → 「22 - core」※縦画面モノや3画面モノ、artworkがあるため
      6. 「Configure additional options for nds」 →
        1. 「Aspect Ratio」 → 「22 - core」※2画面あるため
      7. 「Configure additional options for vectrex」 →
        1. 「Aspect Ratio」 → 「22 - core」※縦画面のため
      8. 「Configure additional options for virtualboy」 →
        1. 「Aspect Ratio」 → 「22 - core」※3Dモードをside-by-sideにするときのみ
      9. 「Configure additional options for wonderswancolor」 →
        1. 「Aspect Ratio」 → 「22 - core」※縦/横の切り替えで画面比率が変わるため
      10. 「Configure additional options for wonderswan」 →
        1. 「Aspect Ratio」 → 「22 - core」※同上
    6. 「BLUETOOTH」 →
      1. パッドの↑↓で「Register and Connect to Bluetooth Device」を選択
      2. パッドの←→で「OK」か「Cancel」を選択し、Aボタンで決定
      3. Bluetooth機器側のCONNECTボタンを押す
      4. Bluetooth機器を選択
      5. 「NoInputNoOutput」
    7. イヤホンの音量変更※要キーボード
      1. 「Audio」 → 「Mixer - adjust output volume」
        • あるいは
          $ alsamixer
      2. キーボードのF6 → 「Headphones」 → キーボードの↑↓
      3. キーボードのESC
  6. 再起動…
  7. 再び「RetroPie」 → 「RETROPIE SETUP」 →
    1. 「Configuration / tools」 →
      1. アップデートによって無効になった、自動ログインの復帰
        1. 「autostart  - Auto-start Emulation Station / Kodi on boot」 → 「Start Emulation Station at boot」
      2. ネットワーク経由でファイルをコピー可能にする
        1. 「samba - Configure Samba ROM Shares」 → 「Install RetroPie Samba shares」
        2. 「Manually edit /etc/samba/smb.conf」
          1. smb.confの赤字部分を自分の環境に合わせてに書き換え
            #====================== Global Settings ======================

            [global]

            ## Browsing/Identification ###

            # Change this to the workgroup/NT-domain name your Samba server will part of
               workgroup = WORKGROUP
          2. 最下行 (参考)
            [SharedDocs]
               comment = RetroPie roms & BIOS
               path = "/home/pi/RetroPie"
               writable = yes
               guest ok = yes
               create mask = 0644
               directory mask = 0755
               force user = pi
            [configs]
               comment = RetroPie configs
               path = "/opt/retropie/configs"
               writable = yes
               guest ok = yes
               create mask = 0644
               directory mask = 0755
               force user = pi
            [ErrorLogs]
               comment = RetroPie ErrorLogs
               path = "/dev/shm"
               writable = yes
               guest ok = yes
               create mask = 0644
               directory mask = 0755
               force user = pi
          3. TAB → OK で変更を保存して終了、ESCで変更を破棄して終了
      3. コンソール画面(GUIじゃない画面)のフォントサイズ変更※無理にやる必要なし
        1. 「consolefont」
  8. STARTでメニューを表示 → 「QUIT」 → 「QUIT EMULATIONSTATION」
    1. 日本語フォントのインストール※ROMイメージに日本語ファイル名を使いたい場合は必須
      1. $ sudo apt install fonts-droid-fallback
    2. /boot/config.txtを編集する
      $ sudo nano /boot/config.txt※nanoがエディタの起動
      1. コンポジット出力をNTSC-Jに変更
        1. config.txtの該当箇所を変更
          # uncomment for composite PALNTSC-J
          #sdtv_mode=21
      2. コンポジットを使わないなら、HDMIに固定しておくと便利かも
        1. config.txtの該当箇所を変更
          # uncomment if hdmi display is not detected and composite is being output
          #hdmi_force_hotplug=1※HDMIモニタが検出されなくてもHDMIで出力
      3. 電源ランプの挙動変更※RPiZとRPi3B+は対象外
        1. config.txtの最下行?に下の2行を追加
          # Blink power led
          dtparam=pwr_led_trigger=heartbeat
    3. BluetoothのSIM Access Profileを無効にしておく
      1. /lib/systemd/system/bluetooth.serviceに黄色字部分を追加する
        ExecStart=/usr/lib/bluetooth/bluetoothd --noplugin=sap
    4. 連射ボタンの設定
      1. joypadsのcfgを編集する
        $ cd /opt/retropie/configs/all/retroarch-joypads
        $ sudo nano ジョイスティック名.cfg
      2. ジョイスティック名.cfgの任意の場所に下の1行を追加
        input_turbo_btn = "9"
        • 9(自分の環境ではR2ボタン)」を押しながら、押したボタンが(ボタンを離すまで)連射になる
        • ただし、RetroArchのCONTROLSの「Device Type」をRetroPadからKeyboard等に変更していると連射にならない
    5. 再起動…
      1. 下記の3コマンドから好きなのを選んでね
        $ exit
        $ reboot
        $ shutdown -h now

その他の設定

  1. ~configs/all/retroarch.cfgを編集する
    1. history機能やプレイ時間のlogをオフに
      # history_list_enable = true"false"
      # content_runtime_log = "false"
    2. Menu画面の操作が可能なコントローラを限定する
      # all_users_control_menu = "false"
    3. Screenshotの画像をDot by Dotに
      # video_gpu_screenshot = true"false"
    4. 改造コードのon/off時やScreenshot時の通知をオフに
      notification_show_cheats_applied = "false"
      notification_show_screenshot = "false"
  2. エミュ起動画面の表示時間を変更
    1. ~configs/all/runcommand.cfgの該当箇所を変更する
      image_delay = "31"
    • 一通り設定が終わったらruncommandをdisableするのもアリ
  3. 一部エミュレータのロゴを追加
    • themeがcarbonの場合
      1. PC88とPC98とx68kの、ロゴとコントローラ画像のsvgファイルを入手する
        $ mkdir tmp
        $ cd tmp
        $ sudo wget https://github.com/eagle0wl/es-theme-carbon/tarball/master .
        $ tar xvf master
        $ cd eagle0wl-es-theme-carbon-0d025c5
      2. 入手したsvgファイルを所定の場所にコピーする
        $ sudo cp -r pc88 /etc/emulationstation/themes/carbon/
        $ sudo cp -r pc98 /etc/emulationstation/themes/carbon/
        $ sudo cp -r x68000 /etc/emulationstation/themes/carbon/※同梱されるようになった
        $ cd ~
        $ rm -r tmp
    • themeがcarbon-2021の場合
      1. 上の「1.」と同じ方法でPC88とPC98のsvgファイルを入手する
      2. 入手したコントローラのsvgファイルを所定の場所にコピーする
        $ sudo cp pc88/art/controller.svg /etc/emulationstation/themes/carbon-2021/controllers/pc88.svg
        $ sudo cp pc98/art/controller.svg /etc/emulationstation/themes/carbon-2021/controllers/pc98.svg
        (以下略)
      3. 入手したロゴのsvgファイルを所定の場所にコピーする
        $ sudo cp pc88/art/system.svg /etc/emulationstation/themes/carbon-2021/art/systems/pc88.svg
        $ sudo cp pc98/art/system.svg /etc/emulationstation/themes/carbon-2021/art/systems/pc98.svg
        (以下略)
      4. x1のロゴをwikipediaから入手して、x1.svgにリネーム後、「3.」と同様にコピーする
      5. ファミコンのロゴをwikipediaから入手して、nes.svgにリネーム後、同様に上書きする
      6. スーパーファミコンのロゴをwikipediaから入手して、snes.svgとリネーム後、同様に上書きする
      7. メガドライブのロゴをwikipediaから入手して、「ペイント」でpngに変換、ココでsvgに変換、megadrive.svgとリネームして以下略
      8. メガCDのロゴをwikipediaから入手して、ココでsvgに変換、segacd.svgとリネームして以下略
      9. 好みでセガマークⅢのロゴもwikipediaから入手しても良いが、黒字なので視認性が落ちるので注意
      10. セガサターンのロゴはwikipediaにあるものはRetroPieにコピーすると表示が変になる
  4. 一部エミュレータのロゴを変更
    • themeがcarbonの場合、実は「PCエンジン Super Grafx」と「PC-Engine CD-ROM²」のロゴが既に用意されている
      1. ~roms/pce-cd、~roms/supergrafxの2フォルダを新規作成
      2. ~configs/pcengineフォルダを模倣して~configs/pce-cd、~roms/supergrafxの2フォルダを新規作成
      3. /etc/emulationstation/es_systems.cfgを編集する
    • themeがcarbon-2021の場合、上記に加えて「ネオジオCD」のロゴが増えている
      1. ~roms/neocdフォルダを新規作成
      2. lr-neocdとかをインストール後、~configs/neogeoフォルダを模倣して~configs/neocdフォルダを新規作成
      3. /etc/emulationstation/es_systems.cfgを編集する
  5. mameやfbneoの横画面モノと縦画面モノのフォルダを分けるときのTIPS
    • ~roms/mame-libretro/mame20xxフォルダとsampleフォルダは、「ln -s」
    • ~configs/mame-libretro/emulators.cfgは、「--config」を変更
    • ~configs/mame-libretro/retroarch.cfgは、「input_remapping_directory」を変更
    • /etc/emulationstation/es_systems.cfgは、「path」と「command」内の「_SYS_」を変更
  6. エミュレータの並び順を変更
    1. エミュレータは/etc/emulationstation/es_systems.cfgに記述されている順に並ぶが、この順番を変更しても変更したエミュレータの追加/更新/削除をすると変更前に戻されてしまう
      なので海外ファミコン(nes)に、シンボリックリンクでファミコン(fc)を追加し、ディスクシステム(fds)と並ぶようにする案
      $ cd ~/RetroPie/roms
      $ sudo ln -s nes fc
      $ sudo chown -h root:root fc
    2. /etc/emulationstation/es_systems.cfgの該当箇所を変更するファミコンエミュの更新の度に変更が必要なので注意
      <name>nesfc</name>
      <fullname>Nintendo Entertainment System</fullname>
      <path>/home/pi/RetroPie/roms/nesfc</path>
    3. 同様に、海外メガCD(segacd)に、シンボリックリンクでメガCD(megacd)を追加し、メガドライブ(megadrive)と並ぶようにする案
    4. $ cd ~/RetroPie/roms
      $ sudo ln -s segacd megacd
      $ sudo chown -h root:root megacd
    5. 「2.」と同様に該当箇所を変更する
    6. 再起動…

起動時にROMイメージを自動実行

  1. ~configs/autostart.shに黄色字部分を追加する※ROMイメージ名が日本語の場合はutf-8で保存
    # Added by me
    /opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ ROMフォルダ名 $HOME/RetroPie/roms/ROMフォルダ名/ROMイメージ名


    emulationstation #auto

サウンド出力をHDMIから3.5mmイヤホンジャックに切り替える

  1. 「RetroPie」 → 「Audio」 → 「Headphones」

HDMIに戻すには…

  1. 「HDMI 1」を選択
  2. 「MAIN MENU」 → 「SOUND SETTINGS」 →
    1. 「AUDIO CARD」 → 「DEFAULT」
    2. 「AUDIO DEVICE」 → 「HDMI」

KIOSKモードについて

「UI MODE」をFULLからKIOSKに変更することで有効化される公共端末モードのことで、設定変更などが出来なくなる。

モードを解除するには「Emulation Station」の、どの画面でも良いので「↑↑↓↓←→←→BA」と *正確に* 入力すること。Emulation Stationの再読み込みが始まったら成功。

Bluetoothスピーカーから音を出す

最初に、RetroPieでBluetoothスピーカーから音を出したいなら「bluealsa」は絶対に入れるな。絶対にだ。

  1. ラズパイを最新にする
    $ sudo apt update & upgrade -y
  2. pulseaudio-module-bluetoothをインストール
    $ sudo apt install pulseaudio-module-bluetooth
  3. piユーザをbluetoothグループに追加
    $ sudo adduser pi bluetooth
  4. /etc/pulse/default.paを編集する
    1. 下記の行に黄色字を追加
      load-module module-udev-detect tsched=0
    2. 最下行に下の一行を追加※HDMIから音が出なくなる
      load-module module-switch-on-connect
  5. /etc/bluetooth/main.confの2行目に黄色字部分を追加する
    [General]
    Enable=Source,Sink,Media,Socket
  6. 「RetroPie」 → 「BLUETOOTH」 → 「Configure bluetooth connect mode」 → 「background」

ボリューム調節は下記コマンドを使う。

$ pactl set-sink-volume @DEFAULT_SINK@ 50%

コントローラ設定

コントローラの入力番号を知るには以下のコマンドを使う。

  • $ evtest
  • $ ls /dev/input
    $ jstest /dev/input/js0

エミュレータの仕様

「lr-」から始まるエミュレータはHOTKEY+STARTで終了出来る。

キーボードを完全に有効化(フォーカスON)するには「Scroll Lock」キーを押す。フォーカス中はHOTKEYが効かなくなるので、使用したいときは再度「Scroll Lock」キーを押してフォーカスを解除する。

HOTKEYの操作一覧
操作入力
HOTKEY + START終了
HOTKEY + Bリセット
HOTKEY + Xメニュー
HOTKEY + L1ステートロード
HOTKEY + R1ステートセーブ
HOTKEY + ←or→セーブスロット変更

エラーログの場所は

/dev/shm/runcommand.log

エミュレータ一覧と簡易メモ
ハードフォルダエミュレータBIOSメモ
32Xsega32xlr-picodrive
3DO3dolr-4do
lr-opera
panafz1.bin
panafz1-kanji.bin
※吸出し方法→
単一のisoしか読み込めない※lr-4doの話
cue+binの単一iso化にはImgChunkerを使用
utf-8のcueなら日本語ファイル名OK
複数ディスク未対応

ソード&ソーサリーを遊ぶ方法は後述

HOTKEY+X → Options → NVRAM Storage → Shared
※SRAMの共有
Amigaamigalr-puae2021kick34005.A500
kick40063.A600
kick40068.A1200
など
WHDLoad対応
Amiberryより動作重い
Apple IIapple2linappleF1でHELP
~configs/apple2/linapple.confの
JoyExitButton0とJoyExitButton1同時押しで終了

zip不可
Atari 8-bitatari800
atari5200
lr-atari800ATARIOSA.ROM
ATARIOSB.ROM
ATARIBAS.ROM
ATARIXL.ROM
5200.ROM
RPi4以外で動作させる方法は後述
HOTKEY+X → Options
→ Autodetect Atari Cartridge Type (Restart)
→ OFF

RPi4はatari5200が起動しなくなった
Atari VCSatari2600lr-stella2014(fast.bin)
(skip.bin)
(system.bin)
C64c64lr-viceSELECTでキーボード
DCdreamcastlr-flycast
※RPiZ不可
dc/
┣dc_boot.bin
┗dc_flash.bin
chdは起動不可?
※raw+bin+raw→chdだけは認識したが起動セズ

HOTKEY+X → Options
→ GDROM Fast Loading → OFF※軽くなる
→ Enable DSP → OFF
→ Synchronous Rendering → OFF
→ Input → Purupuru Pack → OFF※VMを2本差し

NAOMI/ATOMISWAVEの対応法は後述
DOSpc dosbox CTRL+F9で終了

キーコンフィグの方法は後述
lr-dosbox MT32_CONTROL.ROM
MT32_PCM.ROM
RPiZでも動くしキーコンフィグも簡単、midiも鳴る
しかし動作がかなり重い
lr-dosbox-pure
※RPiZ不可
HOTKEY+X → Options
→ Emulation Opt → Loading of dosbox.conf → Try
→ Performance Opt → Emulated Perf → 386DX ~ 486DX
※昔のゲームは286
→ Audio Opt → MIDI Output → Roland

~.conf
FCnes lr-quicknes RPiZでも快適動作

HOTKEY+X → Options → Turbo Enable → Both
lr-fceumm HOTKEY+X → Options → Turbo Enable → Both
FDSfdslr-fceummdisksys.romR1ボタンでディスク抜き差し
L1ボタンでディスク裏返し
FM7fm7xm7
※v4.6で削除
でもv4.7で復活
fm7/
┣INITIATE.ROM
┣SUBSYS_A.ROM
┣SUBSYS_B.ROM
┣SUBSYS_C.ROM
┣SUBSYSCG.ROM
┣EXTSUB.ROM
┣FBASIC30.ROM
┣KANJI1.ROM
┣KANJI2.ROM
┣DICROM.ROM
┣fddseek.wav
┣relay_on.wav
┗relayoff.wav
~configs/fm7/に昔のXM7.INIがないと落ちる参考

マウス操作で終了
日本語ファイル名はディスク変更時に文字化け

インストール法は後述
G&Wgameandwatchlr-gwDL

zip不可
GBgb
gbc
lr-mgba(gb_bios.bin)
(gbc_bios.bin)
HOTKEY+X → Options
→ UseBIOS File if Found → ON※biosがあると少し嬉しい
GBAgba lr-gpspgba_bios.bin RPiZでも快適動作
lr-mgba
GGgamegearlr-genesis-plus-gx(bios.gg)HOTKEY+X → Options
→ System Boot ROM → ON※biosがあると少し嬉しい
Intellivisionintellivisionlr-freeintvexec.bin
grom.bin
L1かR1ボタンでテンキー
JAGUARatarijaguarlr-virtualjaguarHOTKEY+X → Options →
Bios → ON※OFFだと起動しない?

日本語ファイル名不可
※savファイル名が文字化けする
ただしzipは日本語可
LD daphnehypseus ESCで終了※hypinput.iniで変更可(後述
portslr-daphne hypseusのおかげで不要に…
LYNXatarilynxlr-beetle-lynxlynxboot.imgHOTKEY+X → Options → Auto-rotate Screen → manual

SELECTボタンで縦/横画面 切替
MAME mame-mame4all mame4all-pi(romsフォルダへ) TABかF2でDIP変更
Cheat可
arcade
mame-libretro
lr-mame2000 RPiZの推奨mame
仕様変更でsampleフォルダがroms→BIOSへ移動したので注意
lr-mame2003 50代向け、RPiの推奨mame
ツインレバーモノで右スティック使用可
Cheat可
lr-mame2010 40代向け
R3かL3でDIP変更

HOTKEY+X → Options
→ Core Provided aspect ratio → DAR
※3画面モノの画面比が狂わない、副作用で一部の縦画面モノの比が狂ったらmame2016を使う
lr-mame2016 R3かL3 → Cheatで連射設定変更
R2で連射ON/OFF

実はartworkの挙動が一番良い?
$ sudo ln -s ~RetroPie/BIOS/mame2010/artwork ~RetroPie/BIOS/mame2016/artwork
MCDsegacdlr-picodrivebios_CD_E.bin
bios_CD_J.bin
bios_CD_U.bin
MDgenesislr-genesis-plus-gx(bios_MD.bin)
MSXmsx lr-bluemsx ROMカセットのSRAM非対応
~BIOS/bluemsx.iniのjoy1.autofire=on

複数ディスクの切替方法は後述
openmsx openmsx/
┣px-v60_basic-bios1.rom
┗px-v60_pbasic.rom
ALT+F4で終了

PX-V60のLDゲームが動く
導入方法は後述
N64n64 lr-mupen64plus
※RPiZ不可
zip可
mupen64plus-auto ESCで終了
zip不可

~configs/n64/mupen64plus.cfgの
Joy Mapping Stop = "J0B8/B9"※js0のボタン8と9で終了
NCD fba
neogeo
lr-fbalpha-neocd
lr-fbneo-neocd
fbneo/
┣neogeo.zip
┗neocdz.zip
HOTKEY+X → Options
→ Region → Japan
→ Hiscores → OFF※好みで

utf-8のcueなら日本語ファイル名OK
neogeo
neocd[1]
lr-neocd neocd/
┗何でも良いから1つ
CDイメージの読み込みが爆速

RPiZだと動作が若干重め
ダブドラが途中で落ちる
NDSndslr-desmume
※RPiZ不可
(bios7.bin)
(bios9.bin)
(firmware.bin)
HOTKEY+X → Options
→ Use External BIOS/Firmware → ON
→ Boot Into BIOS → ON

日本語ファイル名不可
※dsvファイル名が文字化けする
ただしzipは日本語可
NGPngp
ngpc
lr-beetle-ngpHOTKEY+X → Options
→ Language (*) → japanese

日本語ファイル名不可
※flashファイル名が文字化けする
ただしzipは日本語可

YOSAKU」の起動方法は後述
PC88pc88lr-quasi88n88.rom
n88_0.rom
n88_1.rom
n88_2.rom
n88_3.rom
n88n.rom
disk.rom
n88knj1.rom
n88knj2.rom
n88jisho.rom
HOTKEY+X → Options
→ Rumble on disk access → OFF
※ディスクアクセス中にパッドが振動(^^;

zip不可
複数ディスクの起動方法は後述
fmgenを使わないので~BIOS/2608~.wavは不要?

ScrollLockでキーボード有効化
PC98pc98lr-np2kainp2kai/
┣2608_bd.wav
┣2608_hh.wav
┣2608_rim.wav
┣2608_sd.wav
┣2608_tom.wav
┣2608_top.wav
┣bios.rom
┣(font.bmp)
┣FONT.ROM
┗sound.rom
L1ボタンでメニュー

zip不可
複数ディスク可※最新版で非対応に(T△T)

~BIOS/np2kai/np2kai.cfgの
DIPswtch = 3e e3 7b で2.5MHzモード
※セイバーは動かなくなる?

midiの対応方法は後述
PCEpcengine lr-beetle-pce
※RPiZ不可
L2ボタンで3/6ボタン切替

HOTKEY+X → Options
→ Turbo ON/OFF Toggle → ON
※X,Yボタンで連射ON/OFF
lr-beetle-pce-fast
PCE CD-ROM²pcengine
pce-cd[2]
lr-beetle-pce
※RPiZ不可
syscard1.pce
syscard3.pce
gexpress.pce
HOTKEY+X → Options
→ (CD)PSG Volume % → 70※好みで

utf-8のcueなら日本語ファイル名OK
lr-beetle-pce-fast
PCE SGXpcengine
supergrafx[2]
lr-beetle-pce
※RPiZ不可
lr-beetle-supergrafx HOTKEY+X → Options
→ Turbo Hotkey Mode → Dedicated Turbo Buttons
※X,Yボタンで連射

ROMイメージ名に日本語を使わない(後述
PC-FXpcfxlr-beetle-pcfxpcfx.rom複数ディスク未対応※木屋サンのアレとか

utf-8のcueなら日本語ファイル名OK
Pokémon minipokeminilr-pokeminibios.min日本語ファイル名不可
※eepromファイル名が文字化けする
PS1psxlr-pcsx-rearmedSCPH100.BIN、等
※大文字注意
binとcueが同じファイル名に限り、日本語ファイル名でもShiftJISなcue可

HOTKEY+X → Options
→ Show Bios Bootlogo → OFF
※ONだと別リージョンのゲームが起動しない
→ Enhanced Resolution (Slow)で高解像度化
※(Speed Hack)も併用して良し
PSPpsplr-ppssppPPSSPP/flash0/font/
gb3s1518.bwfon
imagefont.bin
┗○○○.pgf
※なくても動く
けどfontがダサい
HOTKEY+X → Options
→ Language → japanese
→ Confirmation Button → circle
→ Internal Resolution (restart)で高解像度化
SFCsnes lr-snes9x2005 RPiZでもまあ快適動作
lr-snes9x
※RPiZ不可
SG-1000sg-1000lr-genesis-plus-gx
SMSmastersystemlr-genesis-plus-gx(bios_J.sms)HOTKEY+X → Options
→ Master System FM (YM2413) → ON
※FM音源のON/OFF
→ System Region → NTSC-J
※ジリオンの日本語化
SSsaturnlr-beetle-saturn
※RPiZ不可
sega_101.bin
mpr-17933.bin
HOTKEY+X → Options
→ BIOS language → Japanese

utf-8のcueなら日本語ファイル名OK
VBvirtualboylr-beetle-vbHOTKEY+X → Options
→ Right analog to digital → ON
→ 3D mode → side-by-side立体視
→ 3D mode → anaglyph3Dメガネ
WSwonderswan
wonderswancolor
lr-beetle-wswanSELECTボタンで縦/横画面 切替
X1x1lr-x1xmil/
┣(IPLROM.X1)
┗(IPLROM.X1T)
F11かL2でMENU
ディスク操作はMENUから
※その場合は日本語ファイル名 & zip不可

設定ファイルxmil.cfgは何故か/home/pi/に保存される
X68kx68000lr-px68kkeropi/
┣iplrom.dat
┗cgrom.dat
※小文字注意
F12かL2ボタンでMENU

HOTKEY+X → Options
→ Rumble on FDD Reads → OFF
※ディスクアクセス中にパッドが振動(^^;

複数ディスク可
xdfに対応させる方法は後述

RPiZ2だけは~configs/x68000/retroarch.cfgに
menu_enable_widgets = "false"の追記が必要
光速船vectrexlr-vecx(fast.bin)
(skip.bin)
(system.bin)
Overlay
SplitWolfports/wold3d
※RPiZ不可
4人対戦ウルフェンシュタイン3D

*.wl6
VVVVVVports/vvvvvv data.zip
アウトランports/cannonball
※RPiZ不可
導入は~roms/ports/cannonball/roms.txtを参照

オススメ
洞窟物語ports/CaveStorylr-nxengine English translation (pre-patched)を解凍して~roms/ports/CaveStoryに※日本語版は不可
[1]自分でes_systems.cfgを編集する必要があるが、carbon-2021に専用ロゴが用意されている
[2]自分でes_systems.cfgを編集する必要があるが、carbon及びcarbon-2021に専用ロゴが用意されている

重いエミュレータとか動作リスト
エミュレータハードRPiZRPiZ2RPi3ARPi3BRPi4B
cannonballアウトラン×
lr-atari800Atari 8-bit[3][3][3][3]
lr-beetle-saturnSS×
lr-daphne
※hypseusを使う
LD×
lr-desmumeNDS×
lr-dosbox-pureDOS×
lr-flycastDC×
NAOMI×[4][4]
lr-ppssppPSP××
lr-virtualjaguarAtari Jaguar×
xm7FM7×
[3]~configs/atari800/retroarch.cfgに「menu_enable_widgets = "false"」の追記が必要
[4]容量の小さいタイトルのみ動作

lr-bluemsxで複数ディスク

複数ディスクなゲームの導入方法を、ソーサリアンを例にとって説明。俺的には無敵戦士ヤジウマンを例にとりたいが誰も知らn

  1. 空のテキストファイルを作成し、下の内容を打ち込み保存※必ずutf-8で保存!
    ソーサリアン.P
    ソーサリアン.U
    ソーサリアン.1
    ソーサリアン.2
    ソーサリアン.3
  2. 上のテキストファイルを「ソーサリアン.m3u」にリネーム※拡張子も変更する
  3. 吸い出したソーサリアンのDISKイメージも上に倣ってリネーム※拡張子も(略
  4. ラズパイにファイルを転送する
    ~roms/msx/
      ┣ソーサリアン.m3u
      ┣ソーサリアン.P
      ┣ソーサリアン.U
      ┣ソーサリアン.1
      ┣ソーサリアン.2
      ┗ソーサリアン.3
    • Emulationstationの一覧にはes_systems.cfgに登録された拡張子だけが表示されるため、赤字のDISKイメージ群は表示されない
    • ちなみに赤字のDISKイメージ群はzip不可
  5. 再起動…
  6. Emulationstationから「ソーサリアン」を起動
  7. HOTKEY+X → 「Disk Contorol」 → 「Eject Disk」
  8. 「Current Disk Index」の数字 (m3uに列記したディスクの順番) を変更
  9. 「Insert Disk」

lr-bluemsxでスナッチャーとSDスナッチャー

  1. RuMSXに同梱されているSCC-i(SCCPLUS.ROM)をラズパイに転送する
    ~BIOS/Machines/Shared Roms/
      ┗SCCPLUS.ROM
  2. ~BIOS/Machines/MSX2/config.iniの下記の位置に黄文字を追加
    2 0 2 4 56 "Machines/Shared Roms/SCCPLUS.ROM" ""
    2 2 2 2 43 "" ""
  3. ~BIOS/Machines/MSX2+/config.ini、~BIOS/Machines/MSXturboR/config.iniにも同様に黄文字を追加
    • なお、これらはlr-bluemsxをUpdateすると初期化されるので、その都度編集し直すこと!

これで「コナミ ゲームコレクション」もSCC化される。

また、同じ方法でグラ2のROMイメージを指定しておけば沙羅曼蛇でトゥルーエンドが拝める…はずサラグラて手もあるけど

openmsxで「PX-7」のLDゲーム

  1. openmsxをインストール
  2. /etc/emulationstation/es_systems.cfgに黄文字を追加
    <system>
      <name>msx</name>
      <fullname>MSX</fullname>
      <path>/home/pi/RetroPie/roms/msx</path>
      <extension>.cas .rom .mx1 .mx2 .col .dsk .zip .m3u .CAS .ROM .MX1 .MX2 .COL .DSK .ZIP .M3U .ogv .OGV</extension>
      <command>/opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ msx %ROM%</command>
      <platform>msx</platform>
      <theme>msx</theme>
    </system>
    • なお、こちらはopenmsxをUpdateすると初期化されるので、その都度編集し直すこと!
  3. ~configs/msx/emulators.cfgに黄文字を追加※何故PX-7ではなくPX-V60なのか→
    openmsx = "/opt/retropie/emulators/openmsx/bin/openmsx -machine 'Pioneer_PX-V60' -laserdisc %ROM%"
    • これまたopenmsxをUpdateすると初期化されるので、その都度編集し直すこと!
  4. ~configs/msx/openmsxフォルダのownerを変更する※rootのままだとリモートからフォルダの編集が出来ない
    $ sudo chown -R pi:pi /opt/retropie/configs/msx/openmsx
  5. ~roms/msxフォルダに、ogvファイル(MSX用LDイメージ)をコピーする※日本語ファイル名不可
  6. ~configs/all/emulators.cfgに黄文字を追加
    msx_StrikeMission = "openmsx"※ファイル名がStrikeMissionの場合
  7. HOTKEYを押すとopenmsxが終了するようにする
    1. ~configs/msx/openmsx/share/joystick/(ジョイスティック名).tclに黄文字を追加
      bind "joy1 button12 down" exit※HOTKEYがbutton12の場合
  8. ジョイスティックのボタン設定をする
    1. デフォルトでは偶数ボタンがA、奇数ボタンがBに割り当てられていて使いにくいので、ボタン0だけがA、ボタン1だけがBと変更する
    2. openmsxを起動中にF10でコンソールを表示
    3. キーボードで下のコマンド2つを入力する
      > dict set joystick1_config A button0
      > dict set joystick1_config B button1
    • 入力した設定は~configs/msx/openmsx/share/settings.xmlに保存される

lr-quasi88で複数ディスク

まず、両ドライブにFDをマウントするために、Emulationstationがm3uフォーマットを認識出来るようにする。※v4.7から不要になった

  1. es_systems.cfgを編集する
    $ sudo nano /etc/emulationstation/es_systems.cfg
    • es_systems.cfgに黄文字を追加
      <system>
        <name>pc88</name>
        <fullname>NEC PC-8801</fullname>
        <path>/home/pi/RetroPie/roms/pc88</path>
        <extension>.d88 .cmt .t88 .D88 .CMT .T88 .m3u .M3U</extension>
        <command>/opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ pc88 %ROM%</command>
        <platform>pc88</platform>
        <theme>pc88</theme>
      </system>

複数ディスクなゲームの導入方法を、ザナドゥを例にとって説明。

  1. 空のテキストファイルを作成し、下の内容を打ち込む※必ずutf-8で保存!
    ザナドゥ.Aディスク
    ザナドゥ.Cディスク
    ザナドゥ.Bディスク
  2. 上のテキストファイルを「ザナドゥ.m3u」にリネーム※拡張子も変更する
  3. 再び空のテキストファイルを作成し、下の内容を打ち込む※必ずutf-8で保存!
    ザナドゥ シナリオⅡ.Dディスク
    ザナドゥ シナリオⅡ.Cディスク
    ザナドゥ シナリオⅡ.Eディスク
    ザナドゥ.Aディスク
  4. 上のテキストファイルを「ザナドゥ シナリオⅡ.m3u」にリネーム※拡張子も変更する
  5. 吸い出したザナドゥのDISKイメージも上2つに倣ってリネーム※拡張子も(略
  6. ラズパイにファイルを転送する
    ~roms/pc88/
      ┣ザナドゥ.m3u
      ┣ザナドゥ.Aディスク
      ┣ザナドゥ.Bディスク
      ┣ザナドゥ.Cディスク
      ┣ザナドゥ シナリオⅡ.m3u
      ┣ザナドゥ シナリオⅡ.Cディスク
      ┣ザナドゥ シナリオⅡ.Dディスク
      ┗ザナドゥ シナリオⅡ.Eディスク
    • Emulationstationの一覧にはes_systems.cfgに登録された拡張子だけが表示されるため、赤字のDISKイメージ群は表示されない
    • ちなみにlr-quasi88はzip非対応なので注意
  7. 再起動…
  8. Emulationstationから「ザナドゥ」または「ザナドゥ シナリオⅡ」を起動
  9. L1ボタンを押しながら←→でドライブ1、R1ボタンを押しながら←→でドライブ2に挿入するFDDを変更出来る
    • PC88はドライブ1が右でドライブ2が左だから逆だと思うんだ
  10. HOTKEY+X → Options で、V2/V1モードの切替やサウンドボードの変更が出来る
    • これで起動しないからと言って、作者に凸しないように!!!

lr-np2kaiで複数ディスク

少し前のバージョンからm3u非対応になってしまったので、暫定的な対策法を考える。

  1. es_input.cfgを編集して、拡張子cmdを読み込ませるようにする
  2. 空のテキストファイルを作成し、下の内容を打ち込み保存※必ずutf-8で保存!
    np2kai ".disks/セイバー (1).d88" ".disks/セイバー (2).d88"
  3. 上のテキストファイルを「セイバー.cmd」にリネーム※拡張子も変更する
  4. ラズパイにファイルを転送する
    ~roms/pc98/
      ┣セイバー.cmd
      ┗.disks/
        ┣セイバー (1).d88
        ┗セイバー (2).d88

ディスク3枚組以上のゲームは諦める。でもこの方法を使うと、FD+HDや、HD+CDなゲームも起動可能。

lr-np2kaiでmidi

  1. TiMidityをインストールする
    $ sudo apt install timidity
  2. Windowsの「Microsoft GS Wavetable SW Synth」からSoundFontとcfgを作成する
    1. 差分実行ファイルを入手する※リンク先の「転載」をクリック
    2. 差分実行ファイルを使い、C:\Windows\System32\drivers\gm.dlsから「msgs.sf2」と「msgs.cfg」を入手する
    3. msgs.cfgの先頭に下記の1行を追加する
      dir /home/pi/RetroPie/BIOS/soundfonts
  3. msgs.sf2を~BIOS/soundfontsフォルダにコピーする
  4. msgs.cfgを/etc/timidityフォルダにコピーする
  5. /etc/timidity/timidity.cfgを編集する
    1. 下記の1行をコメントアウト
      #source /etc/timidity/fluidr3_gm.cfg
    2. 最下行に下記の1行を追加する
      source /etc/timidity/msgs.cfg
  6. 再起動
  7. timidityを起動
    $ timidity -iA -Os &
  8. 仮想midiデバイスを組み込む
    $ sudo modprobe snd-virmidi
  9. midiデバイスのidを調べる
    $ aconnect -o
    client 14: 'Midi Through' [type=kernel]
        0 'Midi Through Port-0'
    client 24: 'Virtual Raw MIDI 2-0' [type=kernel,card=2]
        0 'VirMIDI 2-0     '
    client 25: 'Virtual Raw MIDI 2-1' [type=kernel,card=2]
        0 'VirMIDI 2-1     '
    client 26: 'Virtual Raw MIDI 2-2' [type=kernel,card=2]
        0 'VirMIDI 2-2     '
    client 27: 'Virtual Raw MIDI 2-3' [type=kernel,card=2]
        0 'VirMIDI 2-3     '
    client 128: 'TiMidity' [type=user,pid=2652]
        0 'TiMidity port 0 '
        1 'TiMidity port 1 '
        2 'TiMidity port 2 '
        3 'TiMidity port 3 '
  10. midiデバイス名を調べる
    $ ls /dev/snd
    by-path controlC0 controlC1 controlC2 midiC2D0 midiC2D1 midiC2D2 midiC2D3 pcmC0D0p pcmC1D0p seq timer
  11. ~configs/all/runcommand-onstart.shを作成する※改行コードはLFで保存!
    if [ "$2" = "lr-np2kai" ]; then
       timidity -iA -Os &
       sleep 2
       sudo modprobe snd-virmidi
       aconnect 24:0 128:0
    fi
  12. ~configs/all/runcommand-onstart.shを作成する※改行コードはLFで保存!
    if [ "$2" = "lr-np2kai" ]; then
       sudo pkill timidity
       sudo modprobe -r snd-virmidi
    fi
  13. ~configs/all/retroarch/config/Neko Project II kai/Neko Project II kai.cfgを作成する※retroarchに渡す設定の追加
    midi_driver = "alsa"
    midi_output = "TiMidity port 0"
  14. ~BIOS/np2kai/np2kai.cfgに黄色字&赤字部分を追加する
    mpu98dir = true
    mpu98map = /dev/snd/midiC2D0

何故かlr-np2kaiでmidiを鳴らした後にキーボードが効かなくなる(キーを叩いてもカーソルが点滅するだけで文字が出ない)ので被害の軽減策を考える。

  1. midi化したいゲームだけ子フォルダ「'MIDI'」に入れる※アポストフィで囲んだのはソートの上位に表示させるため
  2. ~configs/all/runcommnand-on~の2ファイルのif文を少し書き換える
    if [ "${3:23:12}" = "pc98/'MIDI'/" ]; then
  3. 親フォルダ「pc98」や「'MIDI'」以外の子フォルダでtimidityが起動されなくなったことを確認する

変数$2は起動するエミュレータ名が入っており、これを変数$3に変更した。$3にはイメージのpath「/home/pi/RetroPie/roms/pc98/~」が入っており、{}を使って先頭から23バイト目~12バイト分(pc98/~)をピックアップして判定している。参考

lr-px68kでmidi

  1. lr-np2kaiでmidiの「1.」~「10.」と同じ
  2. lr-np2kaiでmidiの「11.」で作成したファイルに黄色字部分を追加する
    if [ "${3:23:12}" = "pc98/'MIDI'/" ] || [ "$2" = "lr-px68k" ]; then
  3. lr-np2kaiでmidiの「12.」で作成したファイルに黄色字部分を追加する
    if [ "${3:23:12}" = "pc98/'MIDI'/" ] || [ "$2" = "lr-px68k" ]; then
  4. ~configs/all/retroarch/config/PX68K/PX68K.cfgを作成する
    midi_driver = "alsa"
    midi_output = "TiMidity port 0"

GS規格、GM規格のmidiはこれで鳴る。この方法ではLA規格は鳴らないので注意。(どうしても鳴らしたきゃMT-32のsoundfontを入手するかmuntを使う)

lr-px68kで拡張子xdfを読めるようにする

  1. es_systems.cfgに黄文字部分を追加
    <system>
      <name>x68000</name>
      <fullname>X68000</fullname>
      <path>/home/pi/RetroPie/roms/x68000</path>
      <extension>.dim .hdf .Zhd .d88 .m3u .DIM .HDF .ZHD .D88 .M3U .xdf .XDF</extension>
      <command>/opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ x68000 %ROM%</command>
      <platform>x68000</platform>
      <theme>x68000</theme>
    </system>
    • 余談ながら、extension欄にm3uがあることから、lr-px68kも複数ディスクに対応していることが分かる

DOSBOXでキーコンフィグ

dosboxにlibretro風キーコンフィグを施す。


で、その前にBuster版DOSBOXが起動しないで固まる問題の対策で、/etc/timidity/timidity.cfgの下の1行をコメントアウト

#source /etc/timidity/fluidr3_gm.cfg
  1. DOSBOXを起動し、CTRL+F1
    • 起動してしばらくしてから押すと、画面がフリーズすることがあるので注意
  2. HOTKEYにSELECTボタンを割り当てる
    1. 「Mod1」をクリック※マウス必須
    2. 「Add」をクリック
    3. ジョイステックのSELECTボタンを押す
  3. エミュレータ終了キーにHOTKEY+STARTボタンを割り当てる
    1. 「ShutDown」をクリック
    2. 「Mod1」をクリックして点灯させた後、「Add」をクリック
    3. ジョイスティックのSTARTボタンを押す
  4. 同様にMod1+Xを「Mapper」に、Mod1+Bを「Restart」に割り当てる
    ※L1あたりを「Swap Image」にしとくと将来的にディスクチェンジが可能になったら捗る?
  5. 「Save」をクリック
    • これ等は~configs/pc/mapper-SVN.mapに保存される
  6. 「Quit」をクリック

DOSBOXで複数ディスク

  1. ~.shを編集する
    imgmount C: DISKA.IMA DISKB.IMA DISKC.IMA -t floppy
  2. CTRL+F4、または「Swap Image」にアサインしたキーでディスク切り替え

lr-dosbox-pureを使えば解決。

DOSBOXでmidi

  1. lr-np2kaiでmidiの「1.」~「9.」と同じ
  2. ~configs/pc/dosbox-SVN.confを編集する
    mpu401=intelligent
    mididevice=alsa
    midiconfig=128:0

…うまく行かないし、lr-dosbox-pure(RPiZはlr-dosboxか?)を使えば解決。


てか、こんなイカすpatchが…!

lr-dosbox-pureで極超豪拳

  1. 空のテキストファイルを作成し、下の内容を打ち込む
    [autoexec]
    @echo off
    imgmount A CD.ISO -t iso
  2. テキストファイルを「dosbox.conf」にリネーム※拡張子も変更する
  3. CD.ISO、dosbox.confの2ファイルをzip化して「極超豪拳.zip」にリネーム

lr-dosbox-pureでドラゴンロア(複数CD)

  1. 空のテキストファイルを作成し、下の内容を打ち込む
    [autoexec]
    @echo off
    imgmount D CD1.ISO CD2.ISO -t iso
  2. テキストファイルを「dosbox.conf」にリネーム※拡張子も変更する
  3. CD1.ISO、CD2.ISO、dosbox.confの3ファイルをzip化して「ドラゴンロア.zip」にリネーム

AmiberryのWHDLoadでキーコンフィグ

  1. ~BIOSフォルダに「Kickstarts」等、任意のフォルダを作成して、下記のbiosをコピー
    Symbolic Linkrom名
    kick33180.A500Kickstart v1.2 rev 33.180 (1986)(Commodore)(A500-A1000-A2000).rom
    kick33192.A500存在せず※タイプミスが原因らしい
    kick34005.A500Kickstart v1.3 rev 34.5 (1987)(Commodore)(A500-A1000-A2000-CDTV).rom
    kick40063.A600Kickstart v3.1 rev 40.63 (1993)(Commodore)(A500-A600-A2000).rom
    kick40068.A1200Kickstart v3.1 rev 40.68 (1993)(Commodore)(A1200).rom
    kick40068.A4000Kickstart v3.1 rev 40.68 (1993)(Commodore)(A4000).rom
    Kickstart v3.1 rev 40.60 (1993)(Commodore)(CD32).rom
    CD32 Extended-ROM rev 40.60 (1993)(Commodore)(CD32).rom
  2. 「+Start Amiberry」起動
  3. 「Paths」タブ → 「System ROMs:」を任意のフォルダに → Rescan Paths
  4. 「Input」タブ → Autofire Rate → 「Fast」
  5. 「Custom controls」タブ →
    • South: → 「Joy2 2nd Button/Mouse2」
    • East: → 「Joy2 3nd Button/Mouse2」
    • West: → 「Joy2 fire/Mouse2 Left B」
    • Start: → 「Joy2 fire/Mouse2 Left B」
  6. 「Configurations」タブ → Name:が「default」なのを確認 → 「Save」
  7. 「Quit」
  8. ~configs/amiga/amiberry/whdboot/hostprefs.confを編集する
    STEREO_SPLIT=17
    ;ASPECT_RATIO_FIX=TRUEFALSE※v4.6で不具合アリ
  9. ~configs/amiga/amiberry/conf/amiberry.confを編集する
    default_scaling_method=0※Nearest Neighbor
    default_line_mode=1
    default_correct_aspect_ratio=no

もうlr-puaeを使おう…。

hypseusで「アストロンベルト」

  1. フォルダ構成
    ~roms/daphne/
      ┣astron.daphne/
      ┃  ┣astron.commands
      ┃  ┣astron.dat
      ┃  ┣astron.m2v
      ┃  ┣astron.ogg
      ┃  ┗astron.txt
      ┗roms/
          ┗astron.zip
    • astron.commands※bankオプションの引数はDIPスイッチの値(参考
      -nolog -bank 0 00000000 -bank 1 00000000 -latency 950
    • astron.txt
      .
      10 astron.m2v
  2. ゲーム名を日本語化する
    1. ~configs/all/emulationstation/gamelists/daphne/gamelist.xmlを編集する※utf-8で保存
      <?xml version="1.0"?>
      <gameList>
        <game>
          <path>./astron.daphne</path>
          <name>アストロンベルト</name>
          <developer>Sega</developer>
        </game>
      <gameList>
  3. キーコンフィグ
    1. $ jstest /dev/input/js0
      • ジョイスティックの各ボタンを押して、返ってきた値をメモする
    2. ~configs/daphne/hypinput.iniを編集する
      KEY_BUTTON1 = SDLK_LCTRL SDLK_a 4
      1. 赤字部分に、先ほど得た値に「+1」した値を書き込む
      2. 入力を無効にしたい場合は「0」を書き込む
      3. 「KEY_BUTTON1 = 」に続く最初の値と、その次の値は、キーボード入力の指定
        • キーボード入力の値を得るにはこちらを参照
      4. ボタンが効かないときは、上下左右キーのデフォルト値が干渉している可能性があるので「0」に書き換えて無効にする
        [KEYBOARD]
        KEY_UP = SDLK_UP SDLK_r 50 -002
        KEY_DOWN = SDLK_DOWN SDLK_f 70 +002
        KEY_LEFT = SDLK_LEFT SDLK_d 80 -001
        KEY_RIGHT = SDLK_RIGHT SDLK_g 60 +001

lr-daphneで「幻魔大戦」

※hypseusで完動するので不要

  1. shellから
    $ wget http://raw.githubusercontent.com/crcerror/RetroPie-Shares/master/daphne-dev.sh -O /home/pi/RetroPie-Setup/scriptmodules/ports/daphne-dev.sh
  2. 「RASPI-CONFIG」 → 「RETROPIE SETUP」 → 「Manage Package」 → 「Manage experimental packages」 → 「lr-dapne」 → 「Install from source」
  3. ~configs/ports/daphne/retroarch.cfg
    # Settings made here will only override settings in the global retroarch.cfg if placed above the #include line

    input_remapping_directory = "/opt/retropie/configs/ports/daphne/"

    #include "/opt/retropie/configs/all/retroarch.cfg"
  4. ~roms/ports/幻魔大戦 Bega's Battle.sh
    #!/bin/bash
    "/opt/retropie/supplementary/runcommand/runcommand.sh" 0 _PORT_ "daphne" "/home/pi/RetroPie/roms/ports/daphne/roms/bega.zip"
  5. フォルダ構成
    ~roms/ports/daphne/
      ┣framefile/
      ┃  ┗bega.txt
      ┣roms/
      ┃  ┗bega.zip
      ┣vldp/
      ┃┗bega/
      ┃  ┣bega.dat
      ┃  ┣bega.m2v
      ┃  ┗bega.ogg
      ┣pics/
      ┃  ┗(略)
      ┗sound/
          ┗(略))
    • bega.txt
      ../vldp/bega
      299 bega.m2v

lr-beetle-pce-fastでハッカーインターナショナルの「CD麻雀 美少女中心派」

  1. 件のゲームの起動には「Game Express」カードが必要なので、まずは~BIOSフォルダに「gexpress.pce」をコピー
  2. CD麻雀 美少女中心派を起動
  3. HOTKEY+X → Options → CD BIOS (Restart) → Games Express
  4. Save Game-options Fire
    • この情報は~configs/all/retroarch/config/Beetle PCE Fastフォルダに保存される※lr-beetle-pceなら「Beetle PCE」

lr-beetle-pce-fastで「あくまぢょおどらきゅら×」を起動

上の応用。

  1. 件のゲームの起動には「System Card 1」が必要なので、まずは~BIOSフォルダに「syscard1.pce」をコピー
  2. ~roms/pcengineに悪魔城ドラキュラXのbin+cueをコピー
  3. 悪魔城ドラキュラXのcueを複製して、名前を「あくまぢょおどらきゅら×.cue」等に変更※binは使いまわせる
  4. 俺のファイル構成
    ~roms/pcenginepce-cd/
      ┣悪魔城ドラキュラX.bin
      ┣悪魔城ドラキュラX.cue※binに日本語を使用しているので、必ずutf-8で保存
      ┗あくまぢょおどらきゅら×.cue※同上
  5. 再起動…
  6. あくまぢょおどらきゅら×を起動
  7. HOTKEY+X → Options → CD BIOS (Restart) → System Card 1
  8. Save Game-options Fire

PCエンジンとSuperGrafxを自動で切り替え

※Zero以外のラズパイは「lr-beetle-pce」でSuperGrafxも動作するので、これはRPiZ限定の方法と言うことで


HuカードやCD-ROM²を動かすには「lr-beetle-pce-fast」を使うが、SuperGrafx専用ゲームだけは「lr-beetle-supergrafx」でしか動かない。いちいちエミュレータを切り替えるのも面倒なのでこれを自動化する。

  1. SuperGrafxのROMイメージ名に英数字のみを使い、日本語を使わない
  2. SuperGrafxのゲームを起動
  3. 「Runcommand Launch Menu」中にAボタンを押して、MENUを呼び出す
  4. 「Select emulator for rom ()」 → 「lr-beetle-supergrafx」
    • この情報は~configs/all/emulators.cfgに記録される。
  • SuperGrafxのゲーム名の日本語化にはgamelist.xmlを使用する
    1. ~configs/all/emulationstation/gamelists/pcengine/gamelist.xmlを編集する※utf-8で保存
      <?xml version="1.0"?>
      <gameList>
        <game>
          <path>./Aldynes.zip</path>
          <name>オルディネス</name>
          <developer>Hudson</developer>
        </game>
      <gameList>

lr-operaで「ソード&ソーサリー」

3DOの「ソード&ソーサリー」と「ブルーフォレスト物語」を遊ぶにはbios以外にも漢字ROMが必要なので、その吸い出し方と導入法を。

  1. 「ソード&ソーサリー」または「ブルーフォレスト物語」のCD-ROMから「JFONTROM」を吸い出す
  2. 「JFONTROM」を「panafz1-kanji.bin」にリネーム
  3. ~BIOSフォルダにコピー
  4. lr-operaを起動する
    1. 方法①
      1. HOTKEY+X → Options → Font (rom2) → Panasonic FZ-1 (J) Kanji ROM
    2. 方法②
      1. lr-operaを終了する
      2. ~configs/all/retroarch-core-options.cfgの黄色字部分を変更する
        4do_font = "disabledFZ-1 Kanji ROM"

ちなみに、lr-operaの推奨biosは「panafz10.bin」とあるが、上記2ゲームは「panafz1.bin」を使わないと起動しない気がする。※未確認

lr-beetle-ngpで「与作」

レトロパイの覚書ではないのだが、Jeff Frohwein氏の「NeoGeoPocket Dev'rs」に感謝しつつ…。

  1. 吸い出した「KOF バトルDEパラダイス」の下記アドレスのバイナリを書き換える
    &h0023 1000
  2. 拡張子をngpに変更※念のため

余談ながら、PSPのe[mulator]というエミュレータでは拡張子を書き換えるだけでイケてた模様。

lr-pcsx-rearmedで、他エミュレータで作成したメモリーカードを使う

srm形式に変換する必要がある。

  • PCSX2仕様 (mcr) の場合
    1. 拡張子をmcrからsrmに変更するだけ
  • PSN仕様 (vpn)の場合
    1. ここでvmp→mcrに変換した後、拡張子をsrmに変更する
  • その他
    1. Memory Card Manager 1.4を起動※要MSVBVM50.DLL (Visual Basic 5.0 ランタイム)
    2. 「▶」 → 右の窓の「NEW」 → プルダウンから「Other - AdriPSX, FPSE, pcsx (*.mcr)」

lr-pcsx-rearmedで改造コード

参考にソリッドリンクの改造コードを置いておく。手探りで調べるのしんどいよ…。

  1. ~configs/all/retroarch/cheats/PCSX-ReARMed/ソリッドリンク ダンジョン&タワーサイド.cht
    cheats = 5

    cheat0_desc = "Dungeon - Text Speed MAX"
    cheat0_code = "300EF067+00FF"
    cheat0_enable = "true"

    cheat1_desc = "Dungeon - No Random Encount"
    cheat1_code = "800B06FC+0000"
    cheat1_enable = "true"

    cheat2_desc = "Dungeon - Gold 30,000"
    cheat2_code = "800F6148+7530,800F614A+0000"
    cheat2_enable = "false"

    cheat3_desc = "Tower - Text Speed MAX"
    cheat3_code = "300F0AB7 00FF
    cheat3_enable = "false"

    cheat4_desc = "Tower - No Random Encount"
    cheat4_code = "800B1FBC+0000"
    cheat4_enable = "false"
  2. ソリッドリンクを起動し、HOTKEY+Xでメニューを呼び出す
  3. 「Quick Menu」 → 「Cheats」
    1. 改造コードが5つ表示されているはずなので、それぞれのコードを、←→でON/OFFする
    2. 「Apply Changes」
    3. Bボタン → 「resume」

lr-pcsx-rearmedで複数ディスク

  1. cueファイルの拡張子をCD1、CD2、CD3…と変更する。※必ずこの拡張子を使用すること
    ~roms/psx/
      ┣ゲーム (1).bin
      ┣ゲーム (1).CD1
      ┣ゲーム (2).bin
      ┗ゲーム (2).CD2
  2. 同フォルダに空のテキストファイルを作成し、下の内容を打ち込む。
    ゲーム (1).CD1
    ゲーム (2).CD2
  3. このテキストファイルにゲーム名等の任意の名前を付け、拡張子を「m3u」に変更する。※本文に日本語が含まれる場合はutf-8で保存
  4. ゲームを起動し、ディスクチェンジを試す
    1. Emulationstationから先ほど任意の名前を付けたm3uファイルを起動する
    2. ゲームが起動したら、HOTKEY+XでRetroArchのメニューを呼び出す
    3. 「Disk Control」を選択
    4. 「Disk Cycle Tray Status」でディスクトレイを開く
    5. カーソルを「Disk Index」に合わせ、←→でセットするディスクの番号を変更
    6. 「Disk Cycle Tray Status」でディスクトレイを閉じる
    7. 「Resume」でゲームに復帰

ソリッドリンクを例に取るとこんな感じ。ソリッドリンクは、複数ディスク化することで、2シナリオ間で同じメモリーカードを共有出来る。

~roms/psx/
  ┣ソリッドリンク ダンジョンサイド&タワーサイド.m3u
  ┣ソリッドリンク ダンジョンサイド.bin
  ┣ソリッドリンク ダンジョンサイド.CD1
  ┣ソリッドリンク タワーサイド.bin
  ┗ソリッドリンク タワーサイド.CD2

余談だが、cueとbinのファイル名が一致する場合は、cueシートにShift-JISの日本語を含んでいたとしても動く。しかし、cueとbinのファイル名が異なり、cueシートに日本語が含まれる場合は、cueシートをutf-8で保存しないと動かない。

lr-fbalphalr-fbneoでネオジオCDの「クロススウォードⅡ」

  1. RetroPie 4.4にプリインストールされていたlr-fbalphaには、CDイメージを認識しないバグがあったので、まずはlr-fbalphaをアップデート※lr-fbneoに名称が変わるはず
  2. CDイメージは「単一のbin+cue」や「iso」である必要があるので、そうでない場合はコンバートする
    • Get CDMage 1.02.1 from https://www.videohelp.com/software/CDMage (freeware & no ads)
    • File > Open > select your iso (NB : for multi-track, select the .cue file, not the .iso file)
    • File > Save As > write the name of your new file
    • Make sure you select MODE1/2352 in the second drop-down
    • Press OK, wait for the process to finish (a few seconds on my computer), and it’s done !
    ※引用元→
  3. lr-fbneoは日本語ファイル名不可なので、ファイル名には英数字のみを使う
    cueシートに日本語が含まれる場合は、cueシートをutf-8で保存しないと動かないので注意
  4. gamelist.xmlを使ってゲーム名を日本語化する
    • ~configs/all/emulationstation/gamelists/neogeo/gamelist.xmlを編集する※utf-8で保存
      <?xml version="1.0"?>
      <gameList>
        <game>
          <path>./crsword2.cue</path>
          <name>クロススウォードⅡ</name>
          <developer>Alpha Denshi Co.</developer>
        </game>
      <gameList>

てかlr-neocdを使おう。

lr-flycastで「アカツキ電光戦記」

  1. 最低限、吸い出したNAOMIのbios「epr-21576g.ic27」を「naomi_boot.bin」とリネームして、~BIOS/dcフォルダにコピー
    • または「epr-21576g.ic27」を「naomi.zip」に圧縮したものでも可

  2. ~roms/dcフォルダに、mame0.198準拠の「ausfache.zip」をコピー
    • ドルフィンブルー、スラッシュアウト、北斗の拳、他、ATOMISWAVE系もbiosが吸い出せるなら同上で
  3. ゲーム名の日本語化は、gamelist.xmlを利用する
  4. HOTKEY+X → Options → Allow NAOMI Service Buttons → ON にすると、TESTボタン(L3)でサービスモードに入れる※操作はSERVICEボタン(R3)を併用

lr-ppssppで改造コード

RetroArch上で自力でサーチする方法もあるが面倒なので、カスタムPSPで広く使われていたcwcheatの改造コードを流用する。

  • 空のテキストファイルを作成し、cwcheatの改造コードを入力※下はあくまで例
    _S NPJH-50656
    _G SoreYuke! BuruNyanMan Portable
    _C0 Invincible
    _L 0x2008EFFC 0x00000000
    _L 0x2008F00C 0x10000031
    _C1 LIFE not decrease
    _L 0x2008F0A8 0x24A50000
  • ファイル名をNPJH50656.iniにリネームして、~roms/psp/PSP/Cheats/~configs/psp/PPSSPP/PSP/Cheats/にコピーする※変更された
  • ゲームを起動して HOTKEY+X → Options → Internal Cheats Support → ON で改造コードを読み込む
  • 現状、個々の改造コードのON/OFFはエミュレータ上からは出来ないので、上のiniファイルを編集してON/OFFする※赤字部分

lr-ppssppでDLC

  • PSPで入手したダウンロードコンテンツは、メモステ内の「GAME」フォルダを~roms/psp/PSP/にコピーすればOK※変更された
  • PSPフォルダのDLCがEmulationstationに表示されて邪魔だと思ったら、/etc/emulationstation/es_systems.cfgを編集し、PSPのextensionから「.pbp」と「.PBP」を削除すればOK※但しPSP minisのゲームが表示されなくなる
  • エミュレータのupdateで配置場所が~configs/psp/PPSSPP/PSP/に変更になったので、そちらに「GAME」フォルダをコピーする
  • 配置場所は~configs/psp/retroarch.cfg内に記述されていて、変更も可能

lr-beetle-saturnで「ミスターボーンズ」(複数ディスク)

  1. 他エミュレータ同様、es_systems.cfgの該当欄に.m3uを追加すればOK

mame rom

emuromchdartwork
mame4all0.37b5N/A.art
※RetroPieは未対応?
lr-mame20000.37b5
lr-mame20030.78v3
lr-mame2003-plus0.78 + 0.188?
lr-mame20100.139v4.lay
lr-mame20150.160
lr-mame20160.174
lr-mame???
advmame-0.940.94v3?
advmame-1.40.106
advmame-3.90.106
PiFBAbased on 0.114v3?
lr-fba
lr-fbneo
based on 0.154→0.210v5?
lr-fba-nextbased on 0.173
lr-fbalpha2012based on 0.187??
gngeopi0.138v4?

lr-mame2003で右スティック

  1. lr-mame2003を起動する
  2. HOTKEY + X → Options → Map right analog stick as buttons → ON
    • または、~configs/all/retroarch-core-options.cfgを編集する
      mame2003_rstick_to_btns = "enabled"
  3. Resume
  4. ツインレバーの右スティックが、パッドの右アナログスティックに自動でキーアサインされる
    • クレイジークライマーはこれだけでOK
    • アサルトはショットボタンと右スティックの↓が重複して、まともに遊べない

他のmameでは、自分で「Input (this Game)」にてキーアサインするしかない。

lr-mame2010のサービススイッチ暴発防止

lr-mame2010は、R3ボタンにはmameのメニュー画面開閉 (いわゆるTAB)、L3ボタンにはサービススイッチがデフォルトで割り当てあれている。

L3は非常に暴発しやすいので、設定があらかた終わったあとは無効にしておいた方が吉。

  1. ~configs/mame-libretro/MAME 2010/MAME 2010.rmpを作成し、黄色字部分を追加する
    input_libretro_device_p1 = "5"
    input_libretro_device_p2 = "5"
    input_libretro_device_p3 = "1"
    input_libretro_device_p4 = "1"
    input_libretro_device_p5 = "1"
    input_player1_analog_dpad_mode = "0"
    input_player1_btn_l3 = "-1"

lr-mame2010の麻雀コンパネバグ回避

麻雀プレイ時のキーボードの「A」と「C」の挙動がおかしいので、それぞれキーボードの「W」と「V」に振り替える。※「Scroll Lock」でGame Focusすれば済む話だけど…

  1. ~roms/mame-libretro/mame2010/cfg/default.cfgに、黄色字部分を追加する
    <input>
        <port type="P1_MAHJONG_A">
            <newseq type="standard">
                KEYCODE_W_SWITCH
            </newseq>
        </port>
        <port type="P1_MAHJONG_C">
            <newseq type="standard">
                KEYCODE_V_SWITCH
            </newseq>
        </port>
        <port type="P1_HANAFUDA_A">
            <newseq type="standard">
                KEYCODE_W_SWITCH
            </newseq>
        </port>
        <port type="P1_HANAFUDA_C">
            <newseq type="standard">
                KEYCODE_V_SWITCH
            </newseq>
        </port>

    </input>

レトロパイで竹本泉版「ついんくいっくす」

竹本泉版ついんくいっくす を起動するには、「twinqix (US版)」にて、Cheatを使用してリージョンをJapanに書き換える必要がある。

そのため「twinqix」が対応済みで且つ、Cheatが使用可能なmame、ということで「lr-mame2003」を使用する。

  1. lr-mame2003で「twinqix.zip」を起動
  2. TAB → Cheat → Enable/Disable a Cheat → Region Switch = Japan → On※RetroArchのCheatではない
  3. HOTKEY+B (Reset)

なお、リージョンが異なるnvramは使用出来ないので、Japanリージョンでnvram作成したら、USリージョンでは遊ばないように注意。

lr-mame2010で日本版MVS

  1. ~roms/mame-libretro/mame2010/ini/mame.iniの黄色字部分を、下表を参考にしながら書き換え
    #
    # CORE MISC OPTIONS
    #
    bios                      9
#namerom
0Europe MVS v2 (default)sp-s2.sp1
1Europe MVS v1sp-s.sp1
2Asia NEO-MVH MV1Csp-45.sp1
3Asia MV1Bsp-s3.sp1
4US MVS v2?sp-u2.sp1
5US MVS v1sp-e.sp1
6US MVS v2 (4 slot)sp1-u2
7US MVS (U4)sp1-u4
8US MVS (U3)sp1-u3.bin
9Japan MVS v3vs-bios.rom
10Japan MVS v2sp-j2.sp1
11Japan MVS v1sp1.jipan.1024
12Japan MV1Bjapan-j3.bin
13Japan MVS J3 (alt)sp1-j3.bin
14Japan NEO-MVH MV1Csp-j3.sp1
15Japanese Hotel v1.3sp1-1v1_3db8c.bin
16Universe Bios v3.3 (Hack)uni-bios_3_3.rom
17Universe Bios v3.2 (Hack)uni-bios_3_2.rom
18Universe Bios v3.1 (Hack)uni-bios_3_1.rom
19Universe Bios v3.0 (Hack)uni-bios_3_0.rom
20Universe Bios v2.3 (Hack)uni-bios_2_3.rom
21Universe Bios v2.3 旧? (Hack)uni-bios_2_3o.rom
22Universe Bios v2.2 (Hack)uni-bios_2_2.rom
23Universe Bios v2.1 (Hack)uni-bios_2_1.rom
24Universe Bios v2.0 (Hack)uni-bios_2_0.rom
25Universe Bios v1.3 (Hack)uni-bios_1_3.rom
26Universe Bios v1.2 (Hack)uni-bios_1_2.rom
27Universe Bios v1.2 旧? (Hack)uni-bios_1_2o.rom
28Universe Bios v1.1 (Hack)uni-bios_1_1.rom
29Universe Bios v1.0 (Hack)uni-bios_1_0.rom

ま、ぶっちゃけ「neogeo.zip」の中身は「000-lo.lo」「sfix.sfix」「sm1.sm1」「sp-s2.sp1」の4つだけあれば良くて、しかもlr-mameはbiosファイルのCRCをチェックしていないようなので、好きなbiosファイルを「sp-s2.sp1」にリネームしても行ける。

FBAFBNeoでCPS3, F3 SYSTEMのDIP変更

  1. HOTKEY+X → Options → Diagnostic Input → Hold Select※これ以外はまともに動かない
  2. エミュレーション中にSELECT長押し

その他システムの場合。

SYSTEMprocess
NEOGEOHOTKEY+Y → QUICK MENU → Options → Setting mode → On
PGMHOTKEY+Y → QUICK MENU → Options → Test Mode → On

余談ながらOptionの「Samplerate」がデフォルトの48000のままだとBGMのキーが高くなるので、44100に変更した方が良い。

レトロパイで「月姫」

  1. onscripterをインストールする
    $ sudo apt install onscripter
  2. ~roms/portsフォルダが存在しない場合は/etc/emulationstation/es_systems.cfgを編集する
    <system>
      <name>ports</name>
      <fullname>Ports</fullname>
      <path>/home/pi/RetroPie/roms/ports</path>
      <extension>.sh .SH</extension>
      <command>bash %ROM%</command>
      <platform>pc</platform>
      <theme>ports</theme>
    </system>
  3. 月姫のCDから吸い出した下記のファイルを~roms/ports/tsukihimeフォルダにコピーする
    ~roms/ports/tsukihime/
      ┣arc.sar
      ┗nscript.dat
    • nscript.datは「0.txt」でも可
  4. 任意のttfフォントを「default.ttf」にリネームして~roms/ports/tsukihimeフォルダにコピーする
  5. 月姫のCDから吸い出したCD-DAを~roms/ports/tsukihime/cdフォルダにコピーする※mp3やoggにエンコ可
    ~roms/ports/tsukihime/cd/
      ┣track01.ogg
      ┣track02.ogg
      ┣track03.ogg
      ┣track04.ogg
      ┣track05.ogg
      ┣track06.ogg
      ┣track07.ogg
      ┣track08.ogg
      ┣track09.ogg
      ┗track10.ogg
  6. ~roms/ports/月姫.shを作成して編集する
    #!/bin/bash
    "/opt/retropie/supplementary/runcommand/runcommand.sh" 0 _PORT_ "tsukihime" ""
  7. ~configs/ports/tsukihime/emulators.cfgを作成して編集する
    tsukihime = "pushd /home/pi/RetroPie/roms/ports/tsukihime; onscripter; popd"
    default = "tsukihime"
  8. 再起動 → 「PORTS」 → 「月姫」※RPi4ではフルスクリーン化しないのは要調査

レトロパイでOverlay覚書

ゲーム画面の外枠にテレビや携帯ゲーム機の本体画像などを表示させるやつ。

  1. ゲームボーイ本体画像の液晶部分にlr-mbgaの画面を表示させる場合のフォルダ構成
    ~configs/all/retroarch/
      ┣overlay/
      ┃  ┣gameboy.cfg
      ┃  ┗gameboy.png
      ┗overlay_config/
          ┣common.cfg
          ┗gameboy.cfg
  2. 画像(gameboy.png)は1280x720の透過pngで作成するのが無難
  3. ~configs/all/retroarch/overlay/gameboy.cfg
    overlays = 1

    overlay0_overlay = gameboy.png
    overlay0_full_screen = true
    overlay0_descs = 0
  4. ~configs/all/retroarch/overlay_config/commmon.cfg
    video_fullscreen = true
    video_fullscreen_x = 1280
    video_fullscreen_y = 720

    video_force_aspect = true
    video_scale_integer = false
    aspect_ratio_index = 23

    input_overlay_enable = true
    input_overlay_opacity = 1.00
  5. ~configs/all/retroarch/overlay_config/atari2600.cfg
    input_overlay = /opt/retropie/configs/all/retroarch/overlay/gameboy.cfg

    custom_viewport_x = 413
    custom_viewport_y = 174
    custom_viewport_width = 454
    custom_viewport_height = 411

    #include "/opt/retropie/configs/all/retroarch/overlay_config/common.cfg"
  6. 「5.」で作成したcfgファイルをoverrideさせるためのcfgファイルを作成する
    #include "/opt/retropie/configs/all/retroarch/overlay_config/gameboy.cfg"
  7. 「6.」のcfgファイルのファイル名と配置場所を下の4つから1つ選ぶ※下に行くほど優先順位が高い
    • ~configs/retroarch/config/mGBA/mGBA.cfg
    • ~configs/retroarch/config/mGBA/gb.cfg※~roms/gbフォルダ(子フォルダを除く)を指している
    • ~configs/retroarch/config/mGBA/ROMイメージ名.cfg
    • ~roms/gb/ROMイメージ名.zip.cfg※zip圧縮している場合は「.zip」は必須

これで、画面の左上から右へcustom_viewport_x、下へcustom_viewport_yの位置に、横custom_viewport_width、縦custom_viewport_heightの大きさの画面が配置される。

但し、指定解像度より低い解像度のモニタ(5inchiサイズで800x450とか)に映すとズレてしまう。現状、RetroArchはゲーム画面の位置やサイズを絶対値でしか指定出来ない(おそらく今後も出来ない)ので、この現象は対処のしようがない。


余談。raspi-config -> Display Options -> Resolution でディスプレイ設定を変更しちゃって、Overlayを使ったゲームが起動しなくなったときの対処法。

  1. ~configs/all/retroarch.cfgの下記の2行が変更されていないかチェックする
    # video_fullscreen = false
    # video_windowed_fullscreen = true
  2. そしてRPi4の場合はmicroHDMI端子やケーブルを疑う!!!