#author("2020-01-27T11:24:08+09:00","default:kuran","kuran")
#author("2021-04-04T09:45:26+09:00","default:kuran","kuran")
*PetroPieのメモ [#td15b7fc]
**動作環境 [#nca06079]
-Raspberry Pi 3 Model B+
-RetroPie 4.5.1
-Raspberry Pi 4 Model B
-RetroPie 4.6

https://retropie.org.uk/ ~

**イメージ書き込み [#qf19a8d3]
SDカードへの書き込みはDD for Windowsを使用した。~
http://www.si-linux.co.jp/techinfo/index.php?DD%20for%20Windows ~
起動する時はDDWin.exeを右ボタンでクリックして「管理者として実行」を選ぶ。
そうするとSDカードが見えるようになる。
SDカードへの書き込みはWin32 Disk Imagerを使用した。~
https://forest.watch.impress.co.jp/docs/review/1067836.html ~


**設定 [#z609ba35]
-オーバースキャン (画面をディスプレイいっぱいに表示する)
--ゲームパッドでRETROPie「CONFIGURATION」→「RASPI-CONFIG」を選択する。
--キーボードの上下のカーソルキーで「7 Advanced Options」を選びEnterで決定する。
--キーボードの上下のカーソルキーで「A2 Overscan」を選びEnterで決定する。
--「No」を選びEnterで決定する。「OK」を選びEnterで決定する。
--キーボードの左右のカーソルキーで「Finish」を選びEnterで決定する。
--「Yes」を選びEnterで決定する。すると再起動してOverscanがDisableになり画面がディスプレイいっぱいに表示されるようになる。~

-画面の解像度を1920x1080 60pに変更する(HDMIの後差し用)
--ゲームパッドでRETROPie「CONFIGURATION」→「RASPI-CONFIG」を選択する。
--キーボードの上下のカーソルキーで「7 Advanced Options」を選びEnterで決定する。
--キーボードの上下のカーソルキーで「A5 Resolution」を選びEnterで決定する。
--キーボードの上下のカーソルキーで「CEA Mode 16 1920x1080 60Hz 16:9」を選びEnterで決定する。
「OK」を選びEnterで決定する。
--キーボードの左右のカーソルキーで「Finish」を選びEnterで決定する。

-SSH設定
--ゲームパッドでRETROPie「CONFIGURATION」→「RASPI-CONFIG」を選択する。
--キーボードの上下のカーソルキーで「5 Interfacing Options」を選びEnterで決定する。
--キーボードの上下のカーソルキーで「P2 SSH」を選びEnterで決定する。
--キーボードの左右のカーソルキーで左側の「Yes」を選びEnterで決定する。
--「Ok」を選びEnterで決定する。

-日本語キーボード設定
--ゲームパッドでRETROPie「CONFIGURATION」→「RASPI-CONFIG」を選択する。
--キーボードの上下のカーソルキーで「4 Localisation Options」を選びEnterで決定する。
--キーボードの上下のカーソルキーで「I3 Change Keyboard Layout」を選びEnterで決定する。
--キーボードの上下のカーソルキーで「Generic 105-key (Intl) PC」」を選びEnterで決定する。
--キーボードの上下のカーソルキーで「Other」を選びEnterで決定する。
--キーボードの上下のカーソルキーで「Japanese」を選びEnterで決定する。
--キーボードの上下のカーソルキーで「Japanese - Japanese (OADG 109A)」を選びEnterで決定する。
--キーボードの上下のカーソルキーで「The default for the keyboard layout」を選びEnterで決定する。
--キーボードの上下のカーソルキーで「No compose key」を選びEnterで決定する。
--キーボードの左右のカーソルキーで「Finish」選びEnterで決定する。

-Wifiの国設定
--ゲームパッドでRETROPie「CONFIGURATION」→「RASPI-CONFIG」を選択する。
--キーボードの上下のカーソルキーで「4 Localisation Options」を選びEnterで決定する。
--キーボードの上下のカーソルキーで「I4 Change Wi-fi Countory」を選びEnterで決定する。
--キーボードの上下のカーソルキーで「JP Japan」を選びEnterで決定する。
--「Ok」を選びEnterで決定する。
--キーボードの左右のカーソルキーで「Finish」選びEnterで決定する。

-Wifi設定
--ゲームパッドでRETROPie「CONFIGURATION」→「WIFI」を選択する。
--キーボードの上下のカーソルキーで「1 Connect to WiFi network」選びEnterで決定する。
--アクセスポイントの一覧が表示されるのでキーボードの上下のカーソルキーで選びEnterで決定する。
--パスワードを入力してEnterで決定する。
--接続が完了するとIPアドレスとESSIDが表示されるので確認する。
--「Ok」を選びEnterで決定する。
--キーボードの左右のカーソルキーで「Exit」選びEnterで決定する。

***上記の一部はboot/config.txtを編集して設定をする事ができます [#p24ae7d5]
-WindowsでSDカードを認識させ「boot」にあるboot/config.txtをテキストエディタで開く。
--オーバースキャン
 disable_overscan=0
--HDMIの後差し
 hdmi_force_hotplug=1
--解像度1920x1080 60p
 hdmi_group=1
 hdmi_mode=16
--解像度1280x1024 60p
 hdmi_group=2
 hdmi_mode=35
--HDMIから音を出す
 hdmi_drive=2
--雷マークを出さないようにする
 avoid_warnings=1
--雷マークを出さないようにしてクロックも下がらないようにする
 avoid_warnings=2
 force_turbo=1
--CPUを2GHz、GPUを600MHzに設定
 over_voltage=5
 arm_freq=2000
 gpu_freq=600

**コマンドラインからの日本語フォントのインストール [#s393922c]
 $ sudo apt-get install fonts-droid-fallback

**ラズパイでシャットダウンボタンを付ける [#ycf0a07e]
**音量設定 [#i3e1b755]
 $ alsamixer

**PC-EngineCDを追加する(romはpcenginecdフォルダになる) [#a8030d03]

 $ mkdir /opt/retropie/configs/pcenginecd

 $ nano /opt/retropie/configs/pcenginecd/emulators.cfg
 ------------------------------
 lr-beetle-pce-fast = "/opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-beetle-pce-fast/mednafen_pce_fast_libretro.so --config /opt/retropie/configs/pcenginecd/retroarch.cfg %ROM%"
 default = "lr-beetle-pce-fast"
 lr-beetle-supergrafx = "/opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-beetle-supergrafx/mednafen_supergrafx_libretro.so --config /opt/retropie/configs/pcenginecd/retroarch.cfg %ROM%"
 lr-fbneo-pce = "/opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-fbneo/fbneo_libretro.so --subsystem pce --config /opt/retropie/configs/pcenginecd/retroarch.cfg %ROM%"
 lr-fbneo-sgx = "/opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-fbneo/fbneo_libretro.so --subsystem sgx --config /opt/retropie/configs/pcenginecd/retroarch.cfg %ROM%"
 lr-fbneo-tg = "/opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-fbneo/fbneo_libretro.so --subsystem tg --config /opt/retropie/configs/pcenginecd/retroarch.cfg %ROM%"
 ------------------------------
 Ctrlキーを押しながらoを押してEnterで保存する。
 Ctrlキーを押しながらxを押して終了する。

 $ nano /opt/retropie/configs/pcenginecd/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/pcenginecd/"
 
 #include "/opt/retropie/configs/all/retroarch.cfg"
 ------------------------------
 Ctrlキーを押しながらoを押してEnterで保存する。
 Ctrlキーを押しながらxを押して終了する。

 $ sudo nano /etc/emulationstation/es_systems.cfg
 以下を追加する
 ------------------------------
  <system>
    <name>pcenginecd</name>
    <fullname>PC Engine CD</fullname>
    <path>/home/pi/RetroPie/roms/pcenginecd</path>
    <extension>.ccd .chd .cue .CCD .CHD .CUE</extension>
    <command>/opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ pcenginecd %ROM%</command>
    <platform>pcenginecd</platform>
    <theme>pce-cd</theme>
  </system>
 ------------------------------
 Ctrlキーを押しながらoを押してEnterで保存する。
 Ctrlキーを押しながらxを押して終了する。

**ラズパイでシャットダウンボタンを付けてファンとLEDを起動時に動作させる [#ycf0a07e]
こちらのwebページを参考にしました。~
https://qiita.com/clses/items/e701c1cb6490751a6040 ~
ボタンを押したら再起動、長押しでシャットダウンします。
起動しているときはボタンを押したら再起動、長押しでシャットダウンします。シャットダウンした後はボタンを押したら起動します。~
また、ゲーム中ならメニューに戻ります。~

配線は以下の様になっている。GNDはPin9以外でも可能です。~
 GND(Pin9 etc)---+
                 |
                 / ボタン
                 |
 BCM3(Pin5)------+
                 |
 BCM23(Pin16)----+
配線は以下の様になっている。GNDはPin9などでOKです。~
|#ref(wires.png,,,40%)|

nanoで/home/pi/ディレクトリにshutdownd.pyを作成する。~
 $ nano /home/pi/shutdownd.py
以下をnanoで入力する~
 #!/usr/bin/python
 # coding:utf-8
 import time
 import RPi.GPIO as GPIO
 import os
 import subprocess
 
 pinnumber = 23
 GPIO.setmode(GPIO.BCM)
 
 #GPIO23pin is setup input mode & pull up
 GPIO.setup(pinnumber, GPIO.IN, pull_up_down=GPIO.PUD_UP)
 # Power switch
 switchPinnumber = 23
 GPIO.setup(switchPinnumber, GPIO.IN, pull_up_down=GPIO.PUD_UP)
 
 # LED & FAN
 ledPinNumber = 18
 GPIO.setup(ledPinNumber, GPIO.OUT)
 GPIO.output(ledPinNumber, True)
 
 while True:
     GPIO.wait_for_edge(pinnumber, GPIO.FALLING)
     GPIO.wait_for_edge(switchPinnumber, GPIO.FALLING)
     sw_counter = 0
     while True:
         sw_status = GPIO.input(pinnumber)
         sw_status = GPIO.input(switchPinnumber)
         if sw_status == 0:
             sw_counter = sw_counter + 1
             if sw_counter >= 50:
             if sw_counter >= 100:
                 print "shutdown"
                 os.system("sudo shutdown -h now")
                 break
         else:
             os.system("sudo reboot")
             break
             processList = subprocess.check_output(["ps", "-ef"])
             if processList.find("retroarch") != -1:
                 print "kill retroarch"
                 os.system("sudo killall retroarch")
                 break
             else:
                 print "reboot"
                 os.system("sudo killall emulationstatio")
                 os.system("sleep 3s")
                 os.system("sudo reboot")
                 break
         time.sleep(0.01)

動作確認~
ボタンを押して再起動、長押しでシャットダウンできればOK~
shutdownd.pyを実行してボタンを押して再起動、長押しでシャットダウンできればOK~
 $ python /home/pi/shutdownd.py

nanoで/etc/systemd/system/ディレクトリにshutdownbuttond.serviceを作成する。~
 $ sudo nano /etc/systemd/system/shutdownbuttond.service
以下をnanoで入力する。~
 [Unit]
 Description=Shutdown Daemon
 
 [Service]
 ExecStart =/usr/bin/python /home/pi/shutdownd.py
 Restart=always
 Type=simple
 
 [Install]
 WantedBy=multi-user.target

サービスを有効化する。~
 $ sudo systemctl enable shutdownbuttond.service

デーモン再起動する。~
 $ sudo systemctl daemon-reload

サービスを確認する。~
 $ systemctl status shutdownbuttond.service
 runningになっていれば正常に動作している。

**以下未確定 [#y01303ef]
-エミュレータ本体のパス
 /opt/retropie/libretrocores
-エミュレータの登録
 /opt/retropie/configs/arcade/emulators.cfg
- テーマのパス
 /etc/emulationstation/theme
-MAMEの縦画面設定
 RetroPie 4.3のlr-mame2010.soをRetroPie 4.4にコピーするとディスプレイを縦に回転して縦画面でゲームができるようになる
 RetroPie 4.3のlr-mame2010.soをRetroPie 4.5.1にコピーするとディスプレイを縦に回転して縦画面でゲームができるようになる
 いつの間にかできなくなりました…

-アップデート
-アップデート (なぜか実行するとRetroPieが起動しなくなりました)
 これらを実行するとなんだか変になります
 $ sudo apt-get update
 $ sudo apt-get upgrade
 $ sudo apt-get install rpi-update
 $ sudo rpi-update
 $ sudo reboot

-言語の設定
--ゲームパッドでRETROPie「CONFIGURATION」→「RASPI-CONFIG」を選択する。
--「4 Localisation Options」を選びEnterで決定する。
--「I1 Change Locale」を選びEnterで決定する。
--キーボードの上下のカーソルキーで「ja_JP.UTF-8 UTF-8」を選択してSpaceを押し*マークを付ける。
--Tabキーを押して「Ok」を選びEnterで決定する。
--キーボードの上下のカーソルキーで「ja_JP.UTF-8 UTF-8」を選択する。
--Tabキーを押して「Ok」を選びEnterで決定する。

-タイムゾーンの設定
--ゲームパッドでRETROPie「CONFIGURATION」→「RASPI-CONFIG」を選択する。
--「4 Localisation Options」を選びEnterで決定する。
--「I2 Change Timezone」を選びEnterで決定する。
--キーボードの上下のカーソルキーで「Asia」を選びEnterで決定する。
--キーボードの上下のカーソルキーで「Tokyo」を選びEnterで決定する。

[[戻る>開発室]]


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS