任天堂的迷你紅白機已經陸續出貨了,到處都有開箱文甚至拆解文,價格也隨著話題炒作水漲船高,其內建30款遊戲並沒有使用卡帶,而是內建在記憶體中的rom,以模擬器的方式來運作遊戲,而其中Reset按鈕則改為快速儲存兼返回首頁的功能。事實上樹莓派的RetroPie復古派其實都是類似的模式,甚至搭配GPIO也可以來製作一個關閉遊戲返回首頁的硬體按鈕。
由於RetroPie可不像電腦Windows系統一樣,可以直接按右上角的叉叉 X ,或者按 alt + F4 來關閉視窗,所以內建的RetroArch的LR系列模擬器,就預設了一組熱鍵 Select + Start ,可以直接關掉遊戲回到ES首頁中;如果你只是玩LR系列的模擬器,如lr-mame2003或lr-ppsspp、lr-nestopia、lr-snes9x-next等,那熱鍵已經很方便了!,但其他模擬器平台,如DOSBox、Mupen64plus、DGen、PPSSPP、MAME4ALL、AdvanceMAME等其他非LR系列的模擬器,就不適用於RetroArch的的熱鍵,此時要回到ES系統首頁,就顯得相當的麻煩。
本篇將透過GPIO結合紅白機的硬體RESET按鍵,讓RetroPie擁有一個可以關閉遊戲返回ES首頁的實體功能按鍵,使用成果如以下影片,並提供簡易教學供大家參考。
參考來源:
Emulator Exit button GPIO
Adding a Shutdown Button to the Raspberry Pi B+
Retro Gaming with Raspberry Pi
Finally set up Retropie, complete with a GPIO Reset button
How can I add an On-Off switch to my Raspberry Pi 2
1.一個無段式的按鈕
2.杜邦線或其他普通電線
3.SSH軟體及已連網的樹莓派+RetroPie
4.或者接上鍵盤的樹莓派+RetroPie
1.將電線接上無段式的開關,共兩條
2.將兩條線的另一頭接上GPIO
3.本教學範例使用接腳為37PIN跟39PIN,各別代表GPIO26及GROUND接地線
1.使用SSH連至RetroPie或直接使用鍵盤,並進入命令列模式
2.建立指令檔
sudo mkdir Scripts
cd Scripts
sudo touch ExitEmu.py
3.用編輯器開啟指令檔
sudo nano ExitEmu.py
4.開始編輯指令檔內容
from time import sleep import os import RPi.GPIO as GPIO GPIO.setmode(GPIO.BCM) GPIO.setup(26, GPIO.IN, pull_up_down=GPIO.PUD_DOWN) def exitEmulator(channel): print('exitEmulator') os.system('killall retroarch') pids = [pid for pid in os.listdir('/proc') if pid.isdigit()] for pid in pids: try: commandpath = open(os.path.join('/proc', pid, 'cmdline'), 'rb').read() if commandpath[0:24] == '/opt/retropie/emulators/': os.system('kill -QUIT %s' % pid) print('kill -QUIT %s' % pid) except IOError: continue GPIO.add_event_detect(26, GPIO.RISING, callback=exitEmulator, bouncetime=500) while True: sleep(10)
5.接著按 Ctrl + X 然後 Y 存檔離開
6.先直接執行指令來測試按鈕
sudo python ExitEmu.py
7.按下按鈕,畫面出現exitEmulator及retroarch共兩行字串代表指令成功了
8.接著按 Ctrl + C 可離開測試回到命令列
9.用編輯器開啟自動啟動程式
sudo nano /etc/rc.local
10.在exit 0的前一行加入
sudo python /home/pi/Scripts/ExitEmu.py &
11.接著按 Ctrl + X 然後 Y 存檔離開
12.最後重啟你的樹莓派
sudo reboot
13.完成,現在遊戲進行時,可以用快速按鈕直接離開遊戲回首頁囉!
1.暫時沒有自動快速儲存功能,無法完全跟迷你紅白機相仿。
2.有時按太多次,會導致RetroArch失效,重開機即可
以上簡易教學說明,若有問題歡迎到社團討論。
小弟成立了樹莓復古派FB社團,針對RaspberryPi+RetroPie+RecalBox等組合而生的懷舊電玩手作復古專題社團,希望各路好手不吝加入;因殭屍帳號氾濫故採人工審核,多有不便請見諒
樹莓復古派能怎麼玩?樹莓派3(RPi3)+復古派(RetroPie)+紅白機改造+模擬器中文ROM+DOS測試
RetroPie新手教學:軟硬體準備、初始安裝、網路連線、遊戲rom檔傳輸、顯示中文檔名、搭配NAS建造雲端遊戲櫃...