樹莓派的遊樂場 -- RetroPie

樹莓派 - Raspberry Pi 功能眾多,長的可愛,體積小、低電耗,成本低,令人愛不釋手;

樹莓派有一個遊樂場叫做: RetroPie,它能讓樹莓派變身為功能強大的遊戲機,所以樹莓派除了工作超強外,也能盡情遊樂。

 

   RetroPie 是一個非常強大的電玩主機模擬器整合平台,目前依我自己測試結果,除了較新的電玩主機外,

幾乎以前發行過的電玩主機都支援;在 RetroPie 官方的網站,可以看到其支援的模擬器總共有 60 種!60 種耶!喔買尬!

你認識的遊戲主機才幾種?它居然支援 60 種遊戲主機! 下列為官方洋洋灑灑列出其支援的主機:

3do
Amiga
Amstrad CPC
Apple II
Atari 2600
Atari 7800
Atari 800 and 5200
Atari Jaguar
Atari Lynx
Atari ST-STE-TT-Falcon
Coco
Colecovision
Commodore 64/VIC-20/PET
Daphne
Dragon
Dreamcast
Famicom Disk System
Game Boy Advance
Game Boy Color
Game Boy
Game Cube
Game Gear
Game & Watch
GemRB
Genesis/Megadrive
Intellivision
Love
Macintosh
Master System
MESS
MSX
Neo Geo Pocket Color
Neo Geo Pocket
Nintendo 64
Nintendo DS
Nintendo Entertainment System
OpenBOR
Oric
PC Engine
PC
Playstation 1
Playstation 2
PSP
Sam Coupe
Saturn
ScummVM
Sega 32X
Sega CD
SG 1000
Super Nintendo Entertainment System
TI-99
TRS-80
Vectrex
VideoPac / Odyssey 2
Virtual Boy
Wii
Wonderswan Color
WonderSwan
Zmachine
ZX Spectrum

   這麼強大的東西,我看了眼睛都為之一亮、心中歡喜狂跳不已!但...怎麼台灣很少看到或聽到有人在玩?

經過自己實做後,終於知道了原因...

 

   RetroPie 表面上很簡單,若就安裝 RetroPie 而言,對懂 Raspberry Pi 的人來做 ,約10分鐘搞定!

但實際上繁瑣,剛裝好的 RetroPie 沒下一番功夫去瞭解設定、再安裝與更新,大概只能玩任天堂的紅白機!

而這個『一番功夫』還是對我這個資深 IT 人而言,就別說一般對電腦比較陌生的人了,

這就是會有這篇文章的原由,也因為安裝一台能遊玩的 RetroPie 需要『一番功夫』,

所以這篇也算自己的一個安裝紀錄,下次再安裝時就不用再四處找資料了。

 

   RetroPie 並不是只能安裝在 Raspbian 上,它有 Windows 版、Debian版、Ubuntu版;

這篇教學,主要是針對 Raspbian 版來做介紹,所以若需要安裝其它作業系統的版本,就請自行上網搜尋資料。

註:Raspbian 為樹莓派官方作業系統。

 

     先說明一下,本篇撰寫的 RetroPie 為 4.4 版;另外有一點也先說明:上面所列出 RetroPie 支援的 60 種主機,

在 Raspbian 的版本中,並不是全部的平台都能玩,目前我測試了幾個較知名的遊戲主機平台,

發現至少 Wii 及 Sega Saturn 是不支援的;PSP 及 PS 則是效能不佳,雖然可以進行遊戲,但整體的體驗並不好!

 

    以上為 RetroPie 的心得與概述,下面開始進入主題!

--------------------------------------------------------------------------------------------------------------

     我們要將 RetroPie 安裝到 Raspberry Pi 上,首先,當然要有一片樹莓派,在這邊建議用 RPi 3 B+

除此之外,還需要:SD卡、電源線、螢幕、鍵盤、滑鼠... (周邊需求傳送門)

OK,Common Sense 反正樹莓派該用到的周邊全部不能少!另外在 SD 卡的選擇上,可能要考慮未來想玩的 Game,

有些遊戲主機的 ROM 是 iso 檔,一般 iso 都是好幾百M,甚至上G的,所以建議 SD 應該用 64G 以上較適合。

 

     除此之外,最少還需要一隻遊戲搖桿!如果會雙打進行遊戲,那就需要兩隻搖桿;說到 Joystick,

我個人推薦 Logitech F710 這隻搖桿,這不是工商推廣時間,而是用過 MS Xbox 搖桿、PS 搖桿、

任天堂紅白機搖桿後比較出來的結果(在 RetroPie 上),並且 Logitech F710 有一個其他搖桿都沒有的功能,

就是它能用類比搖桿(俗稱的香菇頭)取代/模擬方向鍵,這個功能乍看之下好像沒什麼大不了,但是在某些遊戲裡面,

這是很重要的功能!並且它的方向鍵按起來很輕,Logitech F710 本身還是無線搖桿喔!

 

     除了 Joystick 外,視情況可能要準備一對喇叭,雖然玩 RetroPie 都是在玩老遊戲,

但老遊戲還是會叫的(一搬簡稱為『有音效』)!所以既然是玩遊戲,當然要有聲光效果。

 

    喇叭會因環境不同而有幾種接法:

1. HDMI 輸入的顯示裝置帶有喇叭;這樣的環境就使用螢幕的音效就好,什麼都不用再準備。

2. HDMI 轉 VGA 或是 HDMI 顯示裝置沒有附喇叭;那就要準備一對 3.5mm 立體聲的喇叭,

     喇叭插 HDMI 轉 VGA 的音源孔;但也可以選擇使用樹莓派的 3.5mm 音源孔。

3. 樹莓派原廠 7" 觸控螢幕;只能使用 3.5mm 的喇叭,接樹莓派的 3.5mm 音源孔。 

 

     如果是外接喇叭,用傳統一般外接電源的喇叭 - 可以,吃 USB 電源的喇叭 - 可以,

200有找的喇叭 - 可以,1000 以上的喇叭 - 也行,當然,你要用前後級分離的 9.1 聲道劇院音響系統來玩超級馬莉歐...

我也沒意見,但吵到了鄰居那就就比較不好了!

 

  準備好硬體後,接著就是 RetroPie 軟體下載,RetroPie 可在官方網站下載:

https://retropie.org.uk/download/

如下圖:

 

    下載下來的是『retropie-4.4-rpi2_rpi3.img.gz』,約略 685MB,它是一個壓縮檔,

我個人偏好用 7z 來解壓,解開後會得到 retropie-4.4-rpi2_rpi3.img,它是 SD 卡的 Image 檔,

這個 Image 是在 Raspbian 上面已經安裝好 RetroPie 了,所以只要將它燒錄到 SD 卡上,

再用樹莓派來開機,這樣就是 RetroPie 了,看,非常的簡單吧!

如果不知如何將 SD Image 檔燒到 SD 卡,請看這裡

 

     但是這樣的 RetroPie 實際上沒有遊戲,沒有設定,一般我們將它簡稱為:無法使用!

之前我走到這邊,心想「然後呢?接下來勒?」所以只好上網找教學,但是國內的 RetroPie 教學網站,

要嘛就是版本太老舊,與手邊的狀況對不起來,不然就是再說明一下怎麼將遊戲摳到 RetroPie 而已...說穿了,就是中文資源太過匱乏!

難怪台灣很少人在玩 RetroPie!一堵無形的高牆啊!也難怪在台灣沒聽過有人在玩 RetroPie!

 

    回到主題,用剛燒好 RetroPie 的 SD 來開機,開機起來的畫面長這樣:

這是 RetroPie 的歡迎畫面,它目前未做任何設定,沒有偵測到遊戲搖桿,

它說壓住裝置 A 按鈕可以去設定它...這裡指的是搖桿的 A 按鈕!

然後又說在任何時候按下 F4 可以離開...這裡指的是 Keyboard,離開是指離開 RetroPie;我們現下先不管搖桿,先做系統更新,

所以請按下鍵盤的 F4 鍵...

 

    按下鍵盤的 F4 鍵後,會回到作業系統 Raspbian 的 Console,畫面長這樣:

首先,我們要先設定網路環境,這樣才能更新系統,後面我們要將遊戲放進 RetroPie 也必需用到網路;網路設定請看這裡

 

    當網路設定好後,別急著重新開機,因為一些初始該做的可先一併設完再重新開機; 

我第一次安裝 RetroPie 發現了一個現象,就是設定好網路後,卻連不上 Internet!後來找到原因,RetroPie 官方並未設定 DNS,沒有 DNS 當然無法連網,

所以接著我們先手動設定 DNS;DNS 的設定在 /etc/resolv.conf 裡,它是系統檔案,要 root 權限才能編修,所以指令要加 sudo,

我們用 nano 來編輯該檔,如下圖:

然後加上下圖四行:

168.95.192.1 及 168.95.1.1 是中華電信 Hinet 的 DNS,

8.8.8.8 及 8.8.4.4 是 Google 的 DNS;

當然,你若有其他更快更好的 DNS 可自行設定,

編輯好 resolv.conf 後,請按下 "ctrl + o" nano 會問你寫到 /etc/resolv.conf?

請按下 Enter 鍵,然後再同時按下 "ctrl + x" 就會離開 nano 完成編輯;

完成 Domain Name Server 設定後,接著將 SSH 開啟,這樣我們能用 Term 來登入 RetroPie,

請下 sudo raspi-conf 指令:

系統會進入 Raspbian 的設定畫面:

請用鍵盤的上下鍵選擇 "Interfacing Options" 按下 Enter:

選 SSH,按下 Enter...

然後用鍵盤的左右鍵選 <Yes> 按下 Enter...

系統會回應 SSH 已經開啟...

按下 OK 後,會回到最初的選項畫面,這時用左右鍵選 <Finish> 按下 Enter 後就會離開...

系統要重新開機剛剛的設定才會生效,系統重開機的指令 -> sudo reboot,按下 Enter 後重新開機。

 

     重新開機會回到下面畫面:

現在可以用 ssh 來遠端登入系統進行更新,當然要按下 F4 在 Local 端直接操作也可以,

如果是要用遠端 Term 登入進行操作,那 User 為 pi,Password 為 raspberry;

我接著就在 Local 端進行操作,所以先按下 F4 退出 RetroPie...

我們先 ping hinet 看看是否能上網:

可以看到有回應,這表示能上 Internet,按下鍵盤的 "ctrl + c" 來結束 Ping。

我們先更新 Raspbian 作業系統:

1. sudo apt-get update

2. sudo apt-get -y dist-upgrade

系統更新時間會比較久,等待更新時,可以先下課 10 分鐘!XD

完成作業系統更新:

先重新開一次機,sudo reboot...

重新啟動後會發現:

這次不會自動登入與啟動 RetroPie 了!那是因為更新了作業系統,更新將 RetroPie 的原本設定覆蓋過去,所以不會自動啟動!

所以我們先 Login,使用者 pi 密碼 raspberry,手動登入後,RetroPie 就自動跑起來了,畫面又回到:

接下來,我們要設定 RetroPie,並安裝與更新所有的模擬器,所以請接上準備好的搖桿,接著的操作用搖桿來進行,

我這邊以 Logitech F710 為例...長按 Joystick 上的任一鍵,系統會偵測到搖桿:

這個畫面約一秒後就閃過,接著出現:

這個畫面是要設定搖桿的按鈕,左邊的部份是搖桿的按鈕,右邊則是你要跟著按鈕按,它會記錄你按了什麼鈕,

在此先看一下 Joystick 的各按鍵名稱:

所以D-PAD 是方向鍵,請上、下、左、右,跟著按一遍!

START、SELECT 就是搖桿中間的 Start 及 Select 按鈕:

A、B、X、Y 就是 Joystick 上右邊的四個按鈕,

LEFT SHOULDER、RIGHT SHOULDER 這兩個按鈕在 Sony 的 PS 系統叫做 L1 及 R1,Microsoft 的 XBox 系統叫做 LB、RB,

LEFT TRIGGER、RIGHT TRIGGER 在 Sony 的 PS 系統叫做 L2 及 R2,在Microsoft 的 XBox 系統叫做 LT、RT,

LEFT THUMB 就是左邊香菇頭往下壓 Sony 系統的 L3,RIGHT THUMB 就是右邊香菇頭往下壓 Sony 系統的 R3,

LEFT ANALOG UP、DOWN、LEFT、RIGHT 就是左邊香菇頭(類比搖桿)上、下、左、右,

RIGHT ANALOG UP、DOWN、LEFT、RIGHT 就是右邊香菇頭(類比搖桿)上、下、左、右,

HOTKEY ENABLE 在最新的 XBox、PS4 搖桿就是中間的控制按鈕,

我用的這隻搖桿沒有這顆按鈕,所以我是用「SELECT」按鈕來取代。

最後按下 Joystick 上的「A」按鈕,RetroPie 會將剛剛的設定存檔,會須要幾秒的時間,然後終於出現 RetroPie 的畫面:

到這裡,沒有任何的模擬器及遊戲出現,而這個畫面中間可以看到「CONFIGURATION」的字眼,也就是設定,所以請按下 Joystick 的 A 鈕,會出現:

這是 RetroPie 的設定畫面,

接下來要安裝及更新模擬器,用 Joystick 的 D-PAD 上下鍵選「RETROPIE SETUP」,

按下去後,跑了一會,出現:

上面的畫面說明了一些事情兒,英文好的不得了兒的你看了一定懂,所以我就不多說了,請按下 Joystick 的 A 鈕,

第一個,做基本安裝,所以請按下搖桿的 A 鈕,

用 Joystick 的 D-PAD 左右鍵選 <Yes> 再按下 A 鈕,接著...又下課了,因為會跑一會的時間,抽完了好幾支...(抽煙有礙健康!)它終於跑完,

又回到上個畫面,接著第二,Update...請按下 A 鈕:

用 D-PAD 選 <Yes>讓它執行安裝與更新,它會顯示:

取得了最新的 Setup 腳本!按下 A 鈕後,又跑了一會,再次提醒:

又是這個提醒畫面!它說:

RetroPie 是免費的,可以在 https://retropie .org.uk 下載,但你不能散佈它,它的授權為非自由散佈!

並且如果你要拿它去賣,一定要 email 會知 retropieproject@gmail.com...

我們沒有要拿去賣,就不用 mail 了,所以按下 A 鈕跳過:

是否要更新?請選 <Yes>,之後又拼命的去跑腳本安裝及更新...再...再下課好了 XD;完成:

按下 A 鈕,又回到最早的選項,接著請選 Manage packages...

會出現 Manage 選項,請選擇 Manage optional packages:

選擇第一個,Install/Updat all optional packages from binary,如果選第二個...可是會跑到天荒地老,

我第一次安裝 RetroPie 時,想說用 Source Code 來安裝模擬器是不是會比較好,所以就選了第二個選項,

結果安裝了 5 個小時還沒裝完,最後只好放棄,整個 SD 重新燒錄再來一次!

詢問確定嗎?請選 <Yes> 用力按下 A 鈕!接著...放學嗎??請有點耐心,因為會很久很久(45分鐘左右),

剛剛如果選用 source 去 Install/Update 會更久!

很長的等待,終於完成!回到選項畫面後,用 D-PAD 選擇 <Back>

之後再選 <Back>退回主選項畫面:

然後選 Configuration / tools 按 < OK >:

選擇 autostart - Auto-start Emulation Station / Kodi on boot

選 Start Emulation Station at boot,按下 < OK >

它會告知,已經將 Emulation Station 設定為開機執行,按下 < OK >,回到上一層選項,按下<Cancel>,又回到上一層畫面,按 < Back >,

接著回到最早的選項畫面,請選 < Exit >,會回到:

請按下 B 鈕,會回到:

我們要讓系統重新開一次機,請按下 Joystick 的 「Start」按鈕,會出現:

請選擇 QUIT >

請選 RESTART SYSTEM 並按下 A 鈕,回答 YES 後,系統就會重新啟動。

 

     當系統重新啟動後....嘿嘿嘿,畫面如下:

模擬器終於現身了!

這時可以用 D-PAD 的左右鍵看一下有哪些模擬器,會發現你認識的大概只有 MS DOS 跟 Machintosh...XD!

其實,任天堂、超任、超任64、Game Boy、PS、PSP、MAME...等的模擬器都已經裝好了,但是沒有遊戲所以 RetroPie 就不會顯示!

 

     現在由 Windows 的網路芳鄰裡可以看到多了一個 RETROPIE 的網芳,點進去可以看到:

進 roms 目錄可以看到:

這些就是遊戲要放置的資料夾,下表是由官網整理出來的各模擬器的 Rom 對應的副檔名與放置位置:

模擬器 ROM 副檔名 ROM 放置位置
3DO iso /home/pi/RetroPie/roms/3do
Amiga lha、adf、zip、dms、exe、
Adz、rp9、uae
/home/pi/RetroPie/roms/amiga
Amstrad CPC dsk、cpc /home/pi/RetroPie/roms/amstradcpc
Apple II dsk /home/pi/RetroPie/roms/apple2
Atari 2600 7z、a26、bin、gz、rom、zip /home/pi/RetroPie/roms/atari2600
Atari 7800 7z、a78、bin、zip /home/pi/RetroPie/roms/atari7800
Atari 800 and 5200 a52、atr、bas、bin、car、
Dcm、xex、xfd、gz
/home/pi/RetroPie/roms/atari800
/home/pi/RetroPie/roms/atari5200
Atari Jaguar j64、jag /home/pi/RetroPie/roms/atarijaguar
Atari Lynx 7z、lnx、zip /home/pi/RetroPie/roms/atarilynx
Atari ST-STE-TT-Falcon st、stx、msa、img、rom、
Raw、ipf、ctr
/home/pi/RetroPie/roms/atarist
Coco cas、wav、bas、dmk、jvc、
Os9、dsk、vdk、rom、ccc、sna
/home/pi/RetroPie/roms/coco
Colecovision bin、col、rom、zip /home/pi/RetroPie/roms/coleco
Commodore 64/VIC-20/PET crt、d64、g64、t64、tap、
X64、zip、prg
/home/pi/RetroPie/roms/c64
Daphne daphne /home/pi/RetroPie/roms/daphne
Dragon cas、wav、bas、asc、dmk、
jvc、os9、dsk、vdk、rom、
Ccc、sna
/home/pi/RetroPie/roms/dragon32
Dreamcast cdi、chd、gdi /home/pi/RetroPie/roms/dreamcast
Famicom Disk System 7z、fds、nes、zip /home/pi/RetroPie/roms/fds
Game Boy Advance 7z、gba、zip /home/pi/RetroPie/roms/gba
Game Boy Color 7z、gbc、gb、zip /home/pi/RetroPie/roms/gbc
Game Boy 7z、gb、zip /home/pi/RetroPie/roms/gb
GameCube iso /home/pi/RetroPie/roms/gc
Game Gear 7z、bin、gg、sms、zip /home/pi/RetroPie/roms/gamegear
Game & Watch mgw /home/pi/RetroPie/roms/gameandwatch
Genesis/Megadrive 7z、bin、gen、md、sg、
smd、zip
/home/pi/RetroPie/roms/megadrive
Intellivision 7z、bin、int、itv、rom、zip /home/pi/RetroPie/roms/intellivision
Macintosh dsk /home/pi/RetroPie/roms/macintosh
MAME zip /home/pi/RetroPie/roms/mame-advmame
/home/pi/RetroPie/roms/mame-libretro
/home/pi/RetroPie/roms/mame-mame4all
Master System 7z、bin、sms、zip /home/pi/RetroPie/roms/mastersystem
MSX rom、mx1、mx2、col、
dsk、m3u
/home/pi/RetroPie/roms/msx
Neo Geo Pocket Color 7z、ngc、zip /home/pi/RetroPie/roms/ngpc
Neo Geo Pocket 7z、ngc、zip /home/pi/RetroPie/roms/ngp
Nintendo 64 z64、n64、v64、zip /home/pi/RetroPie/roms/n64
Nintendo DS nds、zip /home/pi/RetroPie/roms/nds
Nintendo Entertainment System 7z、fds、fig、mgd、nes、sfc、
smc、swc、zip
/home/pi/RetroPie/roms/nes
OpenBOR pak /home/pi/RetroPie/roms/ports/openbor
Oric dsk、tap /home/pi/RetroPie/roms/oric
PC Engine 7z、ccd、chd、cue、pce、zip /home/pi/RetroPie/roms/pcengine
PC (IBM) com、sh、bat、exe /home/pi/RetroPie/roms/pc
Playstation1 cue、cbn、img、iso、m3u、
mdf、pbp、toc、z、znx、chd
/home/pi/RetroPie/roms/psx
Playstation2 iso、img、bin、mdf、z、z2
bz2、dump、cso、ima、gz
/home/pi/RetroPie/roms/ps2
PSP cso、iso、pbp /home/pi/RetroPie/roms/psp
Sam Coupe dsk、mgt、sbt、sad /home/pi/RetroPie/roms/samcoupe
Sega Saturn bin、cue、iso、mdf /home/pi/RetroPie/roms/saturn
Sega 32X 32x、7z、bin、md、smd、zip /home/pi/RetroPie/roms/sega32x
Sega CD bin、chd、cue、iso /home/pi/RetroPie/roms/segacd
Sega SG-1000 7z、bin、sg、zip /home/pi/RetroPie/roms/sg-1000
Super Nintendo Entertainment System 7z、bin、fig、mgd、sfc、smc、
Swc、zip
/home/pi/RetroPie/roms/snes
TI-99 ctg /home/pi/RetroPie/roms/ti99
TRS-80 dsk /home/pi/RetroPie/roms/trs-80
Vectrex 7z、bin、gam、vec、zip /home/pi/RetroPie/roms/vectrex
VideoPac / Odyssey 2 bin /home/pi/RetroPie/roms/videopac
Virtual Boy 7z、vb、zip /home/pi/RetroPie/roms/virtualboy
Wii iso /home/pi/RetroPie/roms/wii
Wonderswan Color 7z、wsc、zip /home/pi/RetroPie/roms/wonderswancolor
WonderSwan 7z、ws、zip /home/pi/RetroPie/roms/wonderswan
Zmachine dat、zip、z1、z2、z3、z4、
Z5、z6、z7、z8
/home/pi/RetroPie/roms/zmachine
ZX Spectrum sna、szx、z80、tap、tzx、
gz、udi、mgt、img、trd、scl、
Dsk
/home/pi/RetroPie/roms/zxspectrum

     要將遊戲放入 RetroPie 除了用檔案總管的網路芳鄰外,也可以使用 sftp;若你對電腦本身不是很熟悉,

那就使用網芳的功能就可以。

 

     接著只要去取得遊戲的 Rom,並將它放到對的位置,那模擬器就會出現,RetroPie 就可以進行遊戲,

首先我們來試試任天堂的紅白機,我們先到:

https://emulator.games/

在主頁的中間左邊找一下...點選 Nintendo,之後點第二個遊戲:Super Mario Bros.,進去後點 Download now,等它讀完秒,它會啟動另存新檔,

然後請存檔,會得到 Super Mario Bros (E).zip,將壓縮檔解開,會得到:Super Mario Bros (E).nes,

然後將這個檔放到網芳裡的 RETROPIE>roms>nes,

回到 RetroPie :請按下 Joystick 的 「Start」按鈕,會出現下列畫面:

請選擇 QUIT > 會出現:

按下 RESTART EMULATIONSTATION,會問你 Yes / No?請按下 YES,RetroPie 會重啟,

這時再用 D-PAD 左右選擇,會發現模擬器選項中多出了:

按下 A 鈕進入遊戲選項:

剛剛放進來的 「超級馬莉歐」出現了!再按下 A 鈕,會啟動模擬器並載入遊戲:

就可以開始遊戲了!

 

     只要將遊戲的 ROM 放到對的位置,RetroPie 就能進行遊戲了;要離開遊戲,就同時按下 Joystick 上的 「Select」與「Start」按鈕,

RetroPie 就會回到遊戲選項,若要將 RetroPie 關掉,則在遊戲選項畫面或模擬器平台選項裡按下 「Start」鈕,

選擇 QUIT>,再選擇 SHUTDOWN SYSTEM> 接著回答 YES,然後等樹莓派的小綠燈不亮後,就可以拔電源關機。

 

     那遊戲的 ROM 要去那取得?

遊戲的 ROM 在網路上搜尋就能找到下載網站,例如要找任天堂紅白機的 ROMs,請 Google :nes rom...

要找古老街機的 ROMs,Google:arcade rom 或是 mame rom...

要找 PSP 的 ROMs,Google : psp rom...

要找 Apple 2 的 ROMs,Google:apple2 rom...

 

    有些街機遊戲很久以前玩過,但不知道遊戲名稱,要怎麼找或取得該遊戲的 ROM?

我的做法是用年份來 Google 圖片,例如說,好像是在 1981 年玩過或看過的遊戲,那就 Google:1981 Arcade game...

再瀏覽 Google 出來的圖片,如果看到自己印象中的圖,點進去後一般都會找到該遊戲的名子,再到 Youtube:Arcade 遊戲名稱...

這樣就能確認是否是自己印象中的遊戲。

 

    當你取得了遊戲的 ROM,也放進了正確的目錄後,你的 RetroPie 要重新啟動一次它才能抓到新的遊戲,

RetroPie 重啟的方法:

在遊戲選項畫面或是模擬器選項畫面,按下「Start」鈕,會進入 MAIN MENU:

請選擇 QUIT > 會出現以下畫面:

選擇 RESTART EMULATIONSTATION,它會詢問 REALLY RESTART? 回答 YES,RetroPie 就會重啟。

 

    以上就是 RetroPie 的安裝與設定,它決不像一般國內網站講的那麼簡單,燒好 SD 、將 ROM 摳進去就能玩!

再來,說說其他心得:

 

     如何讓樹莓派的聲音由樹莓派上的 3.5mm 音源孔輸出?

請進入 Raspbian 的 Console:

執行 sudo raspi-config:

選擇 Advanced Options:

選擇 Audio

選擇 Force 3.5mm ('headphone') jack

選擇 <Finish>,回到 command line後,讓系統重新開機:sudo reboot,系統重開後,聲音就會由樹莓派 3.5mm 音源孔輸出了。

 

     再來是如何調整樹莓派 3.5mm 音源輸出的音量?

要調整樹莓派的音量可參考官方網頁:https://www.raspberrypi.org/documentation/configuration/audio-config.md

我這邊介紹一個可透過直覺式介面的調整方式:alsamixer,首先一樣先進入 Console,然後輸入 alsamixer:

進入後:

用鍵盤的上下鍵進行音量調整,按下 Esc 便可離開,我個人習慣是將樹莓的音量調到最大,

然後直接用喇叭上的音量旋鈕來控制音量,這樣比較方便。

 

     這裡一定要介紹一個 RetroPie 的重量級平台 『MAME』,相信很多人跟我一樣,在此之前沒聽過 MAME,所以先 wiki 一下 MAME

簡單講,MAME 就是古老街機的模擬器,古老街機!!!年輕時代繳了多少學費給那些街機?現在可以免費玩!我可以重溫年輕時光了!

所以 MAME 怎能不拿出來特別說一下?

 

    在官網的說明中,放 MAME 的 ROM 共三個目錄:

/home/pi/RetroPie/roms/mame-advmame

/home/pi/RetroPie/roms/mame-libretro

/home/pi/RetroPie/roms/mame-mame4all

經過我實際使用後,發現網路上下載下來 MAME 的 ROM 百分之 95 都要放在 /home/pi/RetroPie/roms/mame-libretro 這個目錄才能遊玩。

 

     當你由網路下載 MAME 的 ROM 並且放到 /home/pi/RetroPie/roms/mame-libretro 目錄下,接著執行這個遊戲...

如果立刻被彈出來,那...有兩種可能:

1. ROM 是壞的!遇到這情況,請試試找別的網站載載看,可能會找到可以進行遊戲的 ROM;或是換個目錄再執行看看。

2. 請更換模擬器,MAME 有好幾個模擬器,之前我並不知道可以更換模擬器,還以為手氣背,下下來的 ROM 都是壞的,

    結果才發現原來換了模擬器就可以玩了!這狀況大概可以解決百分之 80 的情況,另外 20% 就回到狀況 1...

    現在說說如何更換模擬器,當我們執行遊戲時,是否注意到遊戲啟動時有一個畫面:

    注意看這畫面說了什麼? 

     Launching warpwarpr2 (lr-mame2010) ...  -> 正在進入 warpwarpr2 這個遊戲,使用 lr-mame2010 這個模擬器;

     Press a button to configure -> 按下 A 鈕可進入設定;

    Errors are logged to /dev/shm/runcommand.log -> 錯誤的記錄放在 /dev/shm/runcommand.log 檔裡; 

     Error log 我們後面再談,先說說設定,當 MAME 的遊戲一執行就被彈回,那在剛執行遊戲出現這個畫面的時候,按下 A 按鈕,

     它會出現:

 第一個選項:選擇 mame-libretro 的內定模擬器,括號內的 lr-mane2010 是目前的模擬器。

請選1,按下 A 按鈕:

     會發現,MAME 在 libretro 的模擬器共有三種,所以可以換換模擬器執行;用 D-PAD 上下鍵選擇後按下 A 鈕,

     然後回到上一層選項後,選擇 Launch 再按下 A 鈕,就會以不同的模擬器執行 ROM。

     這方法可能可以解決大部分 ROM 不能遊戲的問題;另外,lr-mame2010 這個模擬器是無法存檔的。

 

     遊戲存檔?

大部分的模擬器都有存檔功能,當遊戲進行中,若想存檔,請按當初 Joystick 設定的HOTKEY+右SHOULDER鍵,

若遊戲過程被魔王打死,想要取回之前的存檔再打魔王,請按當初 Joystick 設定的HOTKEY+左SHOULDER鍵。

 

     Error Log?

     ROM 一執行就被彈回,這情況可以去查查 Error Log;/dev/shm/runcommand.log 這個檔案裡,記錄的是最後一次執行 ROM 發生的錯誤,

如果有一個遊戲非常非常的渴望遊玩它,但老是被彈回,那就看看 Error log 吧!依我的經驗,Error log 大概會有三種情況:

1. 模擬器不支援這個 ROM,那請再到別的網站找找同一款遊戲的 ROM;不然就是放錯目錄。

2. ROM本身缺檔案,不完整!這情況我發生過,那就再找別的網站試試!

3. Segmentation Fault!這情況我也遇過,但只發生在 MAME 的模擬器上;我上網找了資料,有說到是將 MAME 的 ROM 放到 SNK Neo-Geo

    的目錄中,改用 Neo-Geo 模擬器執行;我遇到的,的確有兩個 case 就這樣解決了,但這並不是通則。

 

    螢幕顯示上下顛倒? 

    如果買了樹莓派原廠的 7 吋觸控螢幕,那你可能會買一個螢幕架,目前原廠螢幕可以搭配的螢幕架中,

有些裝起來後螢幕的顯示是上下顛倒的,別以為是螢幕架有問題,這是正常的,因為樹莓派的原廠螢幕是可以設定顯示方向的,

要改變樹莓派原廠螢幕的顯示方向,請在 /boot/config.txt 這個檔案最後面增加一行:

lcd_rotate=2

存檔後再重新啟動,螢幕的顯示就會變更方向了。

 

    RetroPie Screensaver?

    RetroPie 本身有 Screensaver 的功能,如果是使用小螢幕,例如樹莓派原廠的 7 吋螢幕,還可以用 RetroPie 的 Screensaver

讓這台遊戲機變成電子相簿喔!要設定 Screensaver 請在模擬器選項或遊戲選項畫面按下「Start」按鈕,會開啟 MAIN MENU:

請選擇 UI SETTINGS:

進入 UI SETTINGS 可以看到 SCREENSAVER SETTINGS > 選項:

進入 SCREENSAVER SETTINGS 後,就是 Screensaver 的設定都在這邊:

第一個:閒置多久啟動 Screensaver,可以用搖桿的左右鍵改變設定值。

第二個:Screensaver 的行為模式,有四種選項,DIM - 螢幕變暗;BLACK - 螢幕變黑色;RANDOM VIDEO - 隨機播放影片;SLIDESHOW - 隨機顯示照片。

第三個:如果在第二項設定成 RANDOM VIDEO,那就在這裡設定播放影片的相關設定,這裡面的設定請自行嘗試,這裡就不多介紹。

第四個:如果在第二項設定成 SLIDESHOW,那就在這裡設定照片的相關設定,進入SLIDESHOW SCREENSAVER SETTINGS >後,畫面如下:

1.SWAP IMAGE AFTER (SECS) 每張照片要顯示多久更換下一張。

2.STRETCH IMAGES 如果設成 ON -> 延展 Image 覆蓋整個螢幕,也就是圖片太小時,自動延展。

3.BACKGROUND AUDIO 就是 Screensaver 的背景音樂,要給它一個 wav 檔,而這個 wav 檔要輸入完整的路徑與檔名,這指能由 Keyboard 輸入。

4.USE CUSTOM IMAGES 如果設成 ON,那就是 Screensaver 用我們自己的圖片。

5.CUSTOM IMAGE DIR 我們自己的圖片放在哪個目錄?這也是要完整的路徑,也只能由 Keyboard 來輸入。

6.CUSTOM IMAGE DIR RECURSIVE 這個設定值 ON/OFF 我都試過,好像沒什麼不一樣?就設為 ON 好了。

7.CUSTOM IMAGE FILTER 這個設定決定要使用哪種圖片格式,點進去後也是要用 Keyboard 輸入。

設定好之後,選最下方的 BACK 或按下搖桿的 B 鍵:

回到上一層選項,再選 BACK 或按下搖桿的 B 鍵:

回到 UI SETTINGS 後,再選 BACK 或按下搖桿的 B 鍵:

回到 MAIN MENU 後再按下搖桿的 B 鍵,這時會回到 RetroPie 你當初進入選項前的畫面,

可能是遊戲選項或是模擬器選項:

<- 模擬器選項畫面

<- 遊戲選項畫面

當你回到模擬器選項畫面後,按下搖桿上的「SELECT」按鈕,RetroPie 的 Screensaver 就會啟動,

就可以看到剛剛設定的結果。 

 

     剛剛上面有提到利用 RetroPie 的 Screensaver 來當電子相簿,因為樹莓派吃的是 5V 2.5A 的電,

樹莓原廠螢幕則吃樹莓的電,這樣將 RetroPie 放客廳一角,就真的變成了電子相簿了,

但是 RetroPie 只有在遊戲選項或是模擬器選項時才會啟動 Screensaver 喔,

也就是進入遊戲中是不會有 Screensaver 的。

 

     RetroPie 有一個子系統,叫做 RetroArch,RetroArch 只有在遊戲進行中才能夠被叫出來,它有一些很有用的功能,下面就來介紹;

在遊戲進行中,按下搖桿上的「Select」+「X」鍵,就能叫出 RetroArch,畫面如下:

它的第一個最普通、簡單、實用的功能就是暫停,有些遊戲本身是沒有暫停功能的,只要是街機的遊戲本身都無法暫停!

但是 RetroArch 啟動時,RetroPie 則會將遊戲暫停;當遊戲玩到緊要關頭,麥當勞歡樂送又正好在敲門(宅男情境),

那就可以用 RetroArch 將遊戲暫停,實用吧!要回到遊戲?看看上圖的第一個功能...Resume,就是離開 RetroArch 回到遊戲。

 

     第二個有用、實用、好用的功能就是重新啟動 ROM;當想摔手把的衝動過後,嘿嘿...一般來說就會用到這個功能 XD。

 

     第三個我認為好用的功能就是第四個選項,Take Screenshot - 螢幕快照,這個功能可以將目前的遊戲畫面存成 .png 的圖檔,

螢幕快照後檔案放在 /opt/retropie/configs/all/retroarch/screenshot 目錄裡。

 

     第四、五、六個功能一起講,就是遊戲存檔及取回:

State Slot 能設定遊戲存檔要用哪一個 Slot;Save State 就是存檔;Load State 就是取回存檔進度。

 

     在來,Start Recording - 將遊戲過程錄影下來,當開始錄影後,再進入 RetroArch 時,Start Recording 這個選項就變成 Stop Recording,

就可以停止錄影,錄影的結果存在 /home/pi 目錄下。但個人實做後,發現錄影效果並不理想就是了。

 

     其他的選項功能請自行測試使用。

 

    RetroPie 先說到這邊,我找回了好多好多 10 多歲時拼命繳學費的遊戲,讓我回憶頹廢的青春...那是所謂的黃金年代 (80's) XD!

 祝遊戲愉快!

 

     下圖是我的 RetroPie 遊戲機,螢幕是用樹莓派官方 7 吋螢幕,這個螢幕是直接吃樹莓本身的 5V 電源,

所以用手機的行動電源就能供電給樹莓派及螢幕,聲音的部分就用耳機取代喇叭,這樣就變成隨身遊戲機!

 

貼幾張 MAME 經典遊戲供參考與回憶:

video

video

video

video

video

video

video

video

video

video

video

video

video

video

                                                                                                                                                         ~  2018/11/18

若有問題可以:pony@ponyjiang.com 每周一~五,上午 5:00 ~ 5:20 接受免費咨詢。