MiSTer FPGA + DE10-Nano 筆記教學心得 號稱可以零延遲反應的懷舊電玩模擬器





本來我是在 YouTube 上看一些 Roland MT-32 的硬體模擬器影片,像是一個叫做 MT-32 Pi 的專案,但是看來看去很容易看到一個衍生的裝置寫著 MiSTer 字樣的 Roland MT-32 硬體模擬器,接著 YouTube 就開始推送我一堆的 MiSTer FPGA 相關影片,這一看就引起了我高度的興趣,最後決定買回來好好的玩看看,並且做下這些筆記。

(最後更新:2021/08/16)

什麼是 MiSTer FPGA 模擬器?

MiSTer FPGA 模擬器是一個 open source project 開源專案,架構在 友晶科技 Terasic 的 DE10-Nano 機板上。

透過 DE10-Nano,MiSTer 目前可以模擬相當多的復古電腦、遊樂器、大型電玩,像是 486 電腦、任天堂、PC-Engine、SEGA MD、超任、NeoGeo 等。

玩 MiSTer FPGA 有什麼優缺點?和月光寶盒那一類的機器相比呢?

如果你的目標是想要暢遊許許多多的遊戲,包括了輕鬆的選擇遊戲、中文化選單、看到遊戲截圖幫助辨認遊戲內容、在任何時間儲存遊戲進度等,那麼月光寶盒 / Batocera / RestoPie 那類的復古遊戲平台會比較適合你。

MiSTer 的購入成本比較高,光最基本的 DE10-Nano 機板就需要 170 美金以上,若你想要像本文隨後所提的增添 MiSTer 專屬硬體,那麼花到一萬台幣都是有可能的,所以缺點很明顯的就是:貴。

附帶一提,我看淘寶上有賣家直接出售整套的 DE10-Nano + MiSTer 套件並且附上一個外殼,售價差不多等於八千多台幣,比我自己慢慢兜出來的要便宜不少,也不用走那些冤枉錄,感覺是挺划算的,給大家參考

既然比較貴,用起來也比較折騰,那為什麼要玩 MiSTer 呢?

最大的特點就是 MiSTer 有著極低的輸入延遲反應,這也是為什麼 MiSTer 要架構在 DE10-Nano 上面的最主要原因。DE10-Nano 是基於 Field – Programmable Gate Array (FPGA) 技術的小電腦,透過 FPGA 硬體重現(模擬)硬體(數位電路、電晶體、邏輯閘)的特性,而非軟體模擬硬體的方式,來達到與模擬對象硬體極為接近甚至一樣的電路回饋反應,所以就算 DE10-Nano 的 CPU 速度無法和當代桌上型電腦相比,但是由於模擬的過程是重現硬體線路的邏輯反應與關係,並追求模擬出的硬體元件之間有著與真實硬體一致的時序安排,這就是靠著高速 CPU 做出的軟體模擬器所比不上的部分了,也讓一堆追求極致懷舊風味和操作手感的玩家樂此不疲。

第二個特點是 MiSTer 提供多樣化的類比訊號輸出,不但能接上 CRT 映像管螢幕或更高品質的 RGB 監視器,搭配 CRT 螢幕時還可以玩起懷舊的光線槍遊戲(光線槍需自備),這就是一般的模擬器平台像是月光寶盒或 Super Console X 所做不到的了。

MiSTer 模擬的復古電腦也相當多,包括陪伴我們成長的 486 電腦,甚至日本電腦 Sharp X68000 都可以模擬,更不要說是歐美那些 Amiga、Commando 等老電腦都可以呀!

MiSTer 的影像輸出還可以套上各種模擬 CRT 螢幕的濾鏡,我自己是覺得比一般模擬器上面提供的效果要好太多了,甚至對於 SEGA MegaDrive 類似透明效果的處理還特別的強。

不過礙於 DE10-Nano 的運算能力,一般認為以後開發出 SONY PS1 以上的核心模擬器的機會不高,目前最令人期待的就是 SEGA Saturn 主機的核心快要完成了。

DE10-Nano 它是樹梅派 Raspberry Pi 嗎?

DE10-Nano

DE10-Nano 不是樹梅派,所以在樹梅派上運作的模擬器,是不能拿來在 DE10-Nano 上使用的。他們模擬硬體運作的方式有著本質上的巨大差異。

DE10-Nano 簡單開箱

DE10-Nano

包括了 USB  傳輸線、電源(100-240V 交流轉直流 5V 2A)、DE10-Nano 主體含壓克力透明上蓋、4 個橡膠角座。

DE10-Nano

注意:最低限度,只要有 DE10-Nano 就已經可以運行 MiSTer,會有一些不方便與限制,包括有部分核心無法正常運作。

DE10-Nano

DE10-Nano 本身具備 HDMI 輸出,所以要接現代的螢幕是很方便的。

DE10-Nano

擴充功能的針腳,如果有買 MiSTer 的 I/O board 就需要與這邊相連,成為 DE10-Nano 的上層,本文稍後會看到合體效果。

DE10-Nano

一個 RJ-45 1Gbps 網路孔,一個 Mini USB 做為 UART USB,應該是拿來做終端操作,基本上只要有接螢幕和鍵盤大概就用不到這個東西;右邊 Micro USB 是具備 OTG 連接能力的 USB,想要接搖桿或鍵盤就要從這裡擴充,記得需要找具備 OTG 功能的 USB HUB,或者本文稍後會看到 MiSTer 的 USB HUB 套件也可以。

DE10-Nano

這邊是記憶體擴充插槽:

DE10-Nano

不添加 RAM 的話則有部分模擬器(核心)無法正確運作,稍後會提到哪些模擬器(核心)需要此 RAM 模組。

DE10-Nano 的背面,右下角是 Micro SD 記憶卡插槽:

DE10-Nano

DE10-Nano 內附了一個 8GB 的 SD 卡,上面預載了一套 Linux 系統具備 GUI 介面,以我們想要拿來當模擬器的用途來說是用不到這張卡的,可直接抽出,另外準備一張超大容量的 SD 卡,我是使用 512GB 的 SD 卡。

DE10-Nano

DE10-Nano 正面俯瞰:

DE10-Nano

DE10-Nano

4 個橡膠角座可以自行套到四個角柱上,幫助穩固且不易刮傷桌面或擺放物的表面。

DE10-Nano

MiSTer 硬體套件

前面說過,這些加在 DE10-Nano 上的 MiSTer 設備並不是必須的,但是如果有的話不但比較方便,像是 486 電腦需要的電池時鐘、任天堂紅白機、超任、NeoGeo 與 CAPCOM CPS1/CPS2 大型電玩都會用到的 EDO RAM 等,看個人需求了,我是都買來了。

MiSTer

這是可以放在 DE10-Nano 下方的 OTG USB HUB。這不是必要品,但是與 DE10-Nano 結合後有一種很 geek 的美感,我愛,所以買。

MiSTer

另外一個會買這個 USB HUB 的考量是,他是可以搭配 MiSTer 的 Fast USB Polling 功能,以每秒一千次的速度輪詢 USB 裝置,藉此降低 USB 搖桿輸入的延遲性。自行找來的 OTG USB HUB 也許不見得能夠搭配這個功能來降低輸入延遲性,而想要用 MiSTer 玩模擬器就是為了超低延遲性的表現啊,所以我當然是要買囉!

MiSTer 的 I/O board:

MiSTer

I/O 板有分功能,我買的是有 VGA 輸出接頭的版本,但這個 VGA 並不能拿去直接連接傳統 VGA CRT 顯示器!它有多種設定,並且搭配不同的轉換線材,就可以輸出不同的影像類比訊號,也可以轉換成 RGB 輸出去接高品質的彩色監視器,或者降轉成色差訊號、S端子、AV 端子訊號,甚至更古早的電視機 RF 訊號,就看你有多少線材和是否瞭解 MiSTer 中關於影像輸出方面的配置了。

也有純數位功能的 I/O 板,主要就還是提供那三個 LED 燈泡和 RESET / OSD / USER 三個按鈕。有了這三個按鈕可以擺脫不少需要鍵盤的操作。

I/O 板上還有一個看起來像是 USB 3.0 的接頭,但這個不是 USB 3.0,他只是用 USB 3.0 的接頭,連接到 DE10-Nano 上的 FPGA 腳位,再轉接成 PC-Engine、SEGA MD、超任等手把的接頭,這樣連接起來也會具備超低延遲的輸入特性,這種轉接座叫做 SNAC,需要另外購買。這個接頭也可以轉接成 MIDI In/Out,也可以去接 MT-32Pi 那個套件,把 MIDI 訊號傳過去,然後回傳聲音,功能變化大,看你要怎麼用了,總之他不是一個 USB,只是看起來是 USB 3.0。

EDO RAM 模組:

MiSTer

前面提到如果不插 RAM 的話會有部分核心無法正常運作,指的就是這一條記憶體。我是買最大的 128MB EDO RAM,好像一般買 64MB 就夠用了,我是覺得沒差多少錢,就買到滿,這樣就完全不用擔心會有哪一個模擬器不能用啦!

我親自測試的結果,如果不插此 EDO RAM,則任天堂紅白機、超任這兩種主機在載入 ROM 後就沒畫面了,而 SEGA MegaDrive (GENESIS) 與 PC-Engine (TurboGrax-16) 則不需要此 EDO RAM 就可以暢玩遊戲。其他很多大型電玩與 NeoGeo 都需要此 EDO RAM 模組,所以為了玩樂順暢無障礙,怎麼樣也買個一張插著吧!

EDO RAM 模組的另外一面有提醒插在 DE10-Nano 上時,這一面要朝外,不然就插反啦!

MiSTer

左邊是 DE10-Nano 與下層 USB HUB 之間的連接橋樑,待會看合體圖就會懂。右邊是 RTC 電池時鐘,如果你要模擬 486 電腦就會用到這個,不然每次 486 電腦開機後的系統時間都不是現在時間,用起來會很困擾的。

MiSTer

RTC 時鐘模組要插在 DE10-Nano 上,電池插槽對外:

MiSTer RTC

但是!我為了把 RTC 時鐘模組給插緊插滿,竟然把 DE10-Nano 對應的插座給插爆了!下圖是我用老虎鉗夾著斷成兩片的塑膠殼:

MiSTer RTC

所以有心使用 RTC 電池模組的人自己要小心點囉!類似我這樣的事件應該是太多了,DE10-Nano 的原廠 Terasic 也因此發出警告

MiSTer RTC

CR1220 的電池需自備:

MiSTer RTC

MiSTer RTC

MiSTer RTC

DE10-Nano + MiSTer 的完全體

上層:MiSTer I/O
中層:DE10-Nano
下層:MiSTer USB HUB

DE10-Nano + MiSTer

DE10-Nano + MiSTer

DE10-Nano + MiSTer

如果不加風扇,DE10-Nano 上面的 FPGA 摸起來超燙的!雖然原廠並沒有安排散熱片,應該是覺得這樣使用也不會有問題,不過做為上層的 MiSTer I/O 板還是預留了風扇的位置可以直吹 FPGA,我觀察這樣開機一陣子後,FPGA 晶片溫溫的一點也不燙,就決定不要再添加散熱片了。

DE10-Nano + MiSTer

給 MiSter + DE10-Nano 一個外殼

在上一段最後是呈現一個裸體的三層架構,其實是還可以再進化的,就是添購 MiSTer 的外殼套件。我在台灣露天與蝦皮、淘寶、eBay 逛了半天,最後決定在 eBay 買一個燻黑透明的外殼,不為什麼,因為我喜歡這種的啊~其實這種外殼套件在國外有多好選擇,透明的、不透明的,且有各種顏色。

MiSTer 外殼

收到的外殼套件有六塊燻黑透明殼,和一包零件。

MiSTer 外殼

稍微組一下我就發現問題了,這個外殼套件和我現有的 MiSTer + DE10-Nano 有一個不合的地方。

MiSTer 外殼

當初我在組裝 DE10-Nano 與下面那一層 USB HUB 時,受限於上圖的 USB OTG 連接器預設的長度,所以兩層板之間選用的金屬螺絲柱是短版的。但是這個外殼是以連接器為長版時來製作,所以當我強行組合以後,就會發生下層 USB HUB 的孔位都與外殼錯開,等於不能用啦!

MiSTer 外殼

當我把金屬螺絲柱換成長版以後,外殼的孔位都對上了,但是 USB OTG 就連不起來啦!如下圖,插心酸給大家看的:

MiSTer 外殼

把 USB OTG 連接器放在一旁看,除了比對出高度不夠用以外,其實可以發現這個連接器還有另外一組腳位,如果我能把 MicroUSB 自行取下,改焊接到另外一組孔位,那就可以用啦!

MiSTer 外殼

但礙於我的工具以及我的手工能力很差,USB OTG 連接器被我整個拆爛,畫面很恥辱我就不放上來了。於是我從 https://misterfpga.co.uk/product/mister-usb-bridge-long-connectors/ 再買一個長版的連接器回來,這才完成整個外殼的最後一塊拼圖。

MiSTer 外殼

只是請看下圖,這個外殼還是有一個地方與我現有的套件不一致,就是下層的 USB HUB。此外殼設計的下層 USB HUB 是採用 DC 5V 電源供應,在很多 YouTube 上的 MiSTer 相關影片中都可以看到。但是我買到的 USB HUB 卻不是這麼設計,是 5V 接過來後分接成一個 DC 頭與一個 USB 頭,該 USB 頭供電給下層 USB HUB,插在 USB HUB 任何一個孔都可以,因為畢竟只是把 USB 5V 供電並聯上去的作用。

MiSTer 外殼

參考其他真正對應的下層 USB HUB 組裝圖會是這樣:

acrylic-case-for-mister-fpga

所以我這裡實際上是這個樣子,有一個 USB 孔被外殼檔住了,無法使用:

MiSTer中層DC供電下層USB供電

另外一個外殼與硬體套件之間稍微不是那麼吻合的地方就是那三個按鈕的延伸套筒。如果我把上蓋的四個螺絲給全部轉緊的話,會造成上蓋把這三個延伸套筒也往下壓住,等於三個按鈕都一直被按著。最後解決辦法是四個螺絲不要鎖太緊,這樣上蓋就不會硬是壓著三個延伸套筒導致按鈕持續被壓著。

MiSTer 外殼

觀看一些其他的外殼套件,也有些外殼在三個按鈕的這個地方直接挖空,並不設計這種套筒延伸上來的結構,就不會遇到我這種問題了,像是下圖:

case-plates-mister-acid-green

我當初要是買上圖這種外殼的話,也會避開前面提到的 USB OTG 連接器的長度問題,但我還是喜歡六面包覆的外殼呀!

所以前面說過,我在整個 MiSTer 上面走了一點冤枉路、多花了一點錢,就是因為這樣啦!也才會推薦真的有興趣的人不如去淘寶買一整組人家已經完全準備好的,輕鬆又省錢。

不過我看過最誇張的自製外殼是這段影片 https://youtu.be/gjTTR7G-uSw,設計概念是 80-90 年代的 Hi-Fi 音響主機,給大家參考。

mister-retro-hifi-case

教學筆記 (會持續更新)

MiSTer 怎麼安全關機?

根據設計,MiSTer 雖然運行的是 Linux,但是設計成可以隨時關機,並不會對 Linux 系統造成損害。

英文教學影片

簡述 MiSTer 的 SD 卡準備過程和啟用 MiSTer

https://github.com/MiSTer-devel/SD-Installer-Win64_MiSTer 找畫面上最新的一版壓縮檔下載 .rar 檔回來在 Windows 電腦上解開,準備好自己的 SD 卡(我是準備一張 512GB 的),然後執行其中的:

MiSTer SD Card Utility.exe

按照畫面指示他就會把 MiSTer 的軟體裝進去 SD 卡,並且非常貼心的在 SD 卡上切了一個 FAT 格式的分割區,這個也是 MiSTer 放置所有核心(模擬器)和所有遊戲的地方,好處是在 Windows 下可以直接讀寫此分區,並不會因為是 Linux 的 ext3 之類的分割區造成在 Windows 上無法讀寫。

而 MiSTer 本身仍是一個 Linux 分割區,此區用來開機載入 MiSTer 的核心,並不需要在 Windows 下被讀寫。

上述步驟可點此看英文版解說:https://github.com/MiSTer-devel/Main_MiSTer/wiki/Setup-Guide#prepare-the-sd-card

做好的 SD 卡插入 DE10-Nano,準備好一個 USB 鍵盤,甚至插上網路線,就可以開機享用 MiSTer 了。

=== 如果對您來說系統對應正確時區時間不重要的話可跳過這段的開始線 ===

第一次開機後建議透過鍵盤切換到 Scripts 區執行 timezone.sh 程序即可完成時區設定,以後開機不但會自動對時而且是在正確的時區(以台灣來說就是 GMT+8)。timezone.sh 是根據目前的 IP 地址去 www.ip-api.com 網站查回區域代碼,並且引進正確的時區資料而得。以我自己是中華電信為例,確實能夠直接確認為 Asia/Taipei。此程序只要執行一次,會永久生效,前提是要有網路,則每次 MiSTer 開機後會自動網路對時。

注意:此處的對時不能幫助 486 電腦核心對時,486 電腦核心的時鐘需仰賴 RTC 模組。

=== 如果對您來說系統對應正確時區時間不重要的話可跳過這段的結束線 ===

https://github.com/theypsilon/Update_All_MiSTer 下載 update_all.sh 放在 Scripts 資料夾下然後執行,它不但會自動下載所有最新的核心(模擬器),而且還帶來更多好處,簡單來說包括:

  1. 自動下載/更新 所有的核心(模擬器)。
  2. 自動下載到 NeoGeo 的 BIOS,而且是不分區的 UniBIOS。
  3. 自動下載到 CAPCOM 的 CPS1/CPS2/SEGA System16 核心。
  4. 自動下載到所有目前可以在 MiSTer 上運作的大型電玩 ROM(全部放在 games/mame 下)。
  5. 將所有的大型電玩予以組織分類化,包括可以快速找出同一個遊戲的不同語系、根據機種平台、年份、遊戲類型來選擇遊戲。

並且我建議可以打開 Jotego Updater 裡面的 Install Beta Cores:

在 2021/07 之前,這樣的配置會拿到 CAPCOM CPS2 的 beta 核心,這樣又多了一堆精彩的 CPS2 平台遊戲可以玩。下圖是 2021/07 前因為啟用安裝 Beta Cores 後,update_all 開始自動下載 CPS2 的遊戲:

不過 2021/07 之後 CPS2 已經轉變為正式版,所以這裡不改成 true 也一樣可以下載到 CPS2 的核心與遊戲。目前這裡改成 true 是可以多了 SEGA System16 的 beta 核心與遊戲,而 Jotego 畢竟是大師級的神人,他之後應該還會繼續研發其他的核心 core,我們就還是把這裡改改為 true 吧!隨時可以更新到他的最新作品,並且讓自動收錄到的大台電玩越來越多啊!

MiSTer 系統預載有一個 update.sh,但這個 update 能做的事情僅有上述 1.,其他 2 3 4 5 以及更多的特性都不提供,所以直接去下載 update_all.sh 回來後執行一次更乾脆,超好用!以後時不時的就可以來執行一下,就有可能自動拿到新的核心(模擬器)和對應所屬的大型電玩遊戲,超級方便啊!

update_all.sh 還有一個非常重大的好處就是會幫你把所有具備版權問題的 BIOS 檔案都預先抓回來安排在正確的位置上,您不再需要千辛萬苦的到處尋找 BIOS 檔案了,之後您只需要專注在把支援的遊戲 ROM 放進來就好。

MiSTer 中文設定教學影片

我將上述段落的過程做成了影片,方便大家觀看參考:

MiSTer 基本操作

MiSTer 第一次開機後會看到類似這樣的畫面:

什麼都沒有,直到你執行過 update.sh 或前面段落強烈建議去下載回來執行的 update_all.sh 後,MiSTer 開機的第一個畫面才會看到這五個資料夾:

想要再次叫出這個畫面,按下鍵盤的 F12,或者 MiSTer I/O 板上的 OSD 按鈕即可看到。

在此畫面下再按一次 F12 或 OSD 按鈕,可以切換到 System Settings 畫面,這裡可以重新定義新接上來的搖桿按鈕,以及執行 Scripts 下面的功能。

注意:當你進入任何一個核心(模擬器)後,便無法再回到上圖這個 System Settings 畫面,意即無法再去執行 scripts 或定義新加入的搖桿等工作,僅能透過各個核心下的 reset 功能,或者按下 MiSTer I/O 板上的 reset 按鈕來重啟後才能再度進入 System Settings 畫面。

在這個畫面按下←鍵,可以看到此時拿到的 IP 地址:

想要執行 Scripts 下面的功能,在 System Settings 畫面按下 Scripts,接著會向你確認是否繼續,因為這裡面有些功能會造成不可逆的結果,需要你謹慎小心的使用:

你就選 Yes 或 Yes, and don’t ask again 都可以,接著就出現一堆的功能,這些功能按下去 ENTER 就可以執行,或者你從 SSH terminal 進去到 /mount/fat/Scripts 下面自己執行也是完全一樣的效果:

你如果略懂英文,自然可以看懂這裡面提供什麼功能,像是 bluetooth_pair 可以配對藍芽,cifs_mount 可以掛載網路磁碟機、fast_USB_polling_on 可以開啟快速 USB 搖桿讀取功能。其中很實用的就是下面那個 ini_settings,可以修改不少 MiSTer 的設定,尤其像是 VGA 輸出的一些參數都是在那邊調整。

又例如 rtc 就是用來將網路對時的時間日期寫入到 rtc 電池時鐘模組內,這個當你在使用 486 電腦核心時就很實用,不用再自己於 DOS 模式下輸入時間日期了。

上圖的 timezone 就是自動根據 IP 獲取時間日期,這個在前面的段落有提到。

update_all 在前面段落有提到,超重要!記得去看!

你如果懂 SSH terminal & Linux 的基本操作,就可以看到這些 scripts 檔案:

也可以在 SSH terminal 下自己執行,效果都一樣。

增刪修 MiSTer 儲存區的方法

只是編輯 MiSTer.INI 檔的話可以用內建的 scripts 去做

如果您為了某些進階的配置,例如 VGA 輸出訊號的微調,而想要編輯 MiSTer.ini 的內容時,建議可以用 Scripts/ini_settings.sh 來做,內帶的 <Advanced…> 點下去就有一個直觀的文字編輯器可以使用,不然如果你用 SSH terminal 連進去那恐怕就只能用 vi 那個 UNIX 文字編輯器了,以現今的觀點來說 vi 編輯器真的不好用啊!

透過 FTP / SFTP 軟體去增刪修

在 MiSTer 開機的狀態下,透過 FTP 軟體連進去,目標資料夾 /media/fat/ 下面像是 _Arcade _Console games 等都是重要資料夾。FTP 軟體像是 FileZilla FTP 或者 WinSCP 都可以。

很多文件都會說要用 SFTP 去連,事實上不加密的純 FTP 也可以,而且因為傳輸過程不用加解密,傳輸速度會比 SFTP 快很多,對於僅是要個人家庭內使用,我是覺得不用那麼堅持要使用加密協定啦。

透過 SAMBA 服務(網路芳鄰) 去增刪修

Scripts 下面的 samba_on 要執行過一次(該 script 主要目的是解除防火牆對於 samba 所需要的 incoming TCP port 137 138 139 445 的限制),並且透過 SSH terminal / FTP / 拔記憶卡插到電腦上 這些方法任一,把 /media/fat/linux 下的 _samba.sh 開頭的底線拿掉,也就是更名成 samba.sh 後重新開機,接著就可以在你的 Windows 下以 \\IP 或 \\mister 方式來連接到 MiSTer:

會發現分享出來一個叫做 fat 的網路資料夾,看你是要掛載成網路磁碟機或偶爾臨時使用都隨你意。

預設帳號 root 密碼是 1

不論是想要用 FTP / SFTP / SSH terminal / 網路芳鄰(samba) 的方式連進去,MiSTer 預設的帳號密碼是 root / 1。

把 SD 記憶卡抽出來帶到電腦上去增刪修

如果你不打算使用網路連接 MiSTer,或者對於上述 FTP / SSH 之類的操作不熟悉,那就把 MiSTer 關機,然後記憶卡抽出來帶到電腦上使用即可。

三種低延遲搖桿連接方式

  • Fast USB Polling:以每秒一千次的頻率去輪詢 USB 搖桿發出的訊號,簡單方便,所有核心(模擬器)都可用。執行 Scripts 下的 fast_USB_polling_on 即可。
  • SNAC:透過 SNAC 轉接板(需另外購買)連接傳統遊戲主機的搖桿,訊號直連 FPGA 核心,少數核心(模擬器)支援。
  • LLAPI:Low Latency API,透過 BlisSTer 板上(需另外購買)的兩個看起來像是 HDMI 的接頭,去轉接成傳統遊戲主機的搖桿,不是每一個核心(模擬器)都支援。

此外可以參考這裡由社群在維護的各種搖桿延遲參考表,盡量使用那些低延遲的搖桿,搭配玩起來勢必更爽

NeoGeo ROM 下載處

雖然 NeoGeo 的每一個遊戲都可以切換成大台投幣模式,但是 NeoGeo 的 ROM 在 MiSTer 的定義中不屬於大台電玩,所以上一個章節的 update_all.sh 不能幫助自動拿到 NeoGeo 的遊戲,需自備。根據這部教學影片 https://www.youtube.com/watch?v=iZmMXOIHkbk,MiSTer 上的 NeoGeo 模擬器偏愛 Darksoft 整理的版本,可以在 https://drive.google.com/file/d/1DSEjsQQWA2DHLctCsqOCD9s44utxcDYP 下載到。

至於 BIOS,不用自己辛苦去找,前面強烈建議的 update_all 就可以輕鬆的自動抓回來了。

PC-Engine 的 ROM / CD Image 下載處

ROM:https://archive.org/details/redump.pce.revival

CD Image:https://www.planetemu.net/roms/nec-pc-engine-cd-turbografx-cd-games

卡片遊戲 ROM 需放在 games/TGFX16,這是因為 MiSTer 是外國人開發,他們小時候見到的是 TurboGrafx-16 而不是我們看到的日本版 PC-Engine。

CD 遊戲 image 檔需放在 games/TGFX16-CD,建議使用日版 Super CDROM 3.0 的 ROM 當作開機前導,因為對遊戲的相容性最好,並且 rename 成 cd_bios.rom 放在 games/TGFX16-CD 下。不過,只要你有做過前面提到的 update_all,這個 cd_bios.rom 就會自動準備好啦!

SEGA MegaDrive CD

建議要執行前面段落提到的 update_all,就會自動取得所需的 BIOS,否則請到 https://mmmonkey.co.uk/downloads/ 下載不分區(region free)的 CD BIOS,這樣不管你要玩日版還是美版的遊戲都不用再切換 BIOS 檔案。目前 Sega MD CD 不支援臨時切換開機 BIOS,只能將準備好的 BIOS 放在 games/MegaCD/ 下面並且 rename 成 boot.rom 才能使用,所以搭配一個不分區的 BIOS 會簡單省事很多。

MAME 一堆 ROM 下載

這只是筆記,MiSTer 其實用不了這麼多的 ROM,無法全部都模擬,是給松鼠們參考的,可以下載到超過 100GB 以上的大型電玩 ROM 檔:https://archive.org/download/MAME_0.193_ROMs_non-merged ,推薦用 BT 種子 torrents 的方式下載會快很多。

怎麼接藍芽搖桿手把?有何優缺點?

選用只要常見的 CSR 4.0 / 5.0 的藍芽發射器接在 MiSTer 的 USB 上,然後執行 Scripts 下的 bluetooth_pair,按照畫面指示,參考自己的藍芽搖桿手把如何配對的方式,就可以配對完成。我有成功配對過的手把包括 Nintendo Switch Pro 手把、PS4 手把,但 SteelSeries Nimbus (Apple TV 建議的藍芽手把)雖然能配對,但是很多按鍵無法正確對應,原因不明。

優點自然是簡單好用。

缺點就是多少喪失了我們使用 MiSTer 的目的,那就是追求極致的低延遲反應。藍芽裝置一定有延遲,且就算啟用了 Fast USB Polling 功能,也不見得就真的能夠對藍芽無線裝置起什麼實際的作用。

我自己現在最常用的是拿一條 USB 轉 MicroUSB 的線,以有線方式連接 PS4 搖桿手把和 MiSTer。

如果你自認體會不出來低延遲的操作暢快感,那麼用無線藍芽手把當然是方便好用的選擇。

搖桿按鈕與方向怎麼定義?

以下是我反覆摸索搭配 PS4 手把後的設定經驗談,給大家參考。

我是以有線的方式連接 PS4 手把與 MiSTer,並非是以藍芽,圖的就是最低的輸入延遲反應。也因為手把本身還是維持著與 PS4 配對使用的關係,所以我在設定按鈕時避開了手把上的 PS 按鈕,畢竟那個按鈕一按下去就無線啟動家裡的 PS4 主機了,這會造成困擾。除非把 PS4 手把與 PS4 主機之間的配對解除,那麼 PS4 手把上的 PS 按鈕才會適合拿來在 MiSTer 中使用。

首先打開 System Settings 畫面,利用鍵盤選擇 Define joystick buttons:

接下來的第一個畫面要你按下你想設定的搖桿的右鍵,這個步驟是 MiSTer 要確認是系統中哪一個裝置(USB裝置、藍芽,或其他)想要定義按鍵,接下來就是專門抓它發出的訊號來完成整個配對按鈕的過程。

不想配對定義,或者你的手把上缺乏適合定義的按鈕的話,可以按下 MiSTer I/O 板上的 User 按鈕或者鍵盤的 space 空白鍵來跳過定義,基本上不影響之後的使用。

接著是我一直沒有很懂的配對意義,共四個步驟,我就抓第 1 與第 4 步驟的圖。

我發現在這個 Stick 1 & Stick 2 的步驟中,若將 PS4 搖桿上的左邊蘑菇頭向右打再向下打,然後右邊蘑菇頭向右打再向下打來完成 4 個步驟後,後面還有一系列 Mouse 的上下左右就能順利配置。若這裡跳過四個配置步驟的話,會造成後面 Mouse “上”與”左”的設定困難。如果有人更瞭解這個 Tilt 和後面 Mouse 步驟之間的關係,歡迎留言告訴我。

接著是我覺得搖桿設定畫面中最簡單直觀的,大家按照自己的喜好去配置吧!

前面提到的 Mouse 步驟來了。我不是很懂手把與滑鼠之間為什麼要定義關係,還請熱心朋友留言告訴我。不過在這裡,我會定義 PS4 手把上的左邊蘑菇頭來配合畫面上的上下左右定義。這樣定義完之後,在 MiSTer 的選單畫面或遊戲中,PS4手把上的上下左右按鈕,與左邊蘑菇頭都可以控制上下左右,我是覺得這樣很方便。

接著要定義滑鼠的左、中、右和一個我不知道什麼用途的按鈕,共 4 個步驟我全部都跳過(Undefine)了。

接著定義 Menu 鈕。如果你的手把上面的獨立按鈕夠多,那麼接下來的這幾個配置可以讓你之後大幅甩開鍵盤的使用。畫面還提示你可以用兩個組合鍵來定義觸發 Menu。我則是拿 PS4 手把上的 OPTIONS 按鈕來定義,畢竟平常不容易按到這個按鈕,也就不容易在遊戲中觸發 menu 出來。

由於 PS4 手把的蘑菇頭不但可以任意轉向,還可以向下按一下,所以我將 Menu OK 鍵定義了右邊蘑菇頭的「按下」,此鍵的效果大致等同鍵盤的 ENTER。

同理,Menu Back 按鍵我就定義了左邊蘑菇頭的「按下」,此鍵的效果大致等同鍵盤的 ESC,自行體會囉!

接下來有 類比X向右與向下 兩個定義,我是都跳過。

這樣我就完成 PS4 手把在 MiSTer 中的配對使用。基本上大概玩 ABCD 或 ABXY 這類 4 個按鈕的遊戲都不會有問題,投幣、Start、家用主機的 Select、上下左右,加上隨時叫出 Menu,都可以只用手把完成。

所以建議一隻按鈕多一點的手把會比較方便。手把按鈕太少的話,像是投幣甚至叫出 menu 的定義恐怕都不夠配對,就還是要比較同時間仰賴鍵盤了。

怎麼更換背景圖?

按下鍵盤的 F1 就可以在預設的幾種背景中切換,像是:

也可以在 /media/fat/ 下面建立 wallpapers 資料夾,然後把喜歡的圖片放進去,jpg 或 png 檔案都可以,重點是你要預備好背景圖片是 16:9 用或 4:3 用,譬如:

放在 wallpapers 資料夾下面的圖,每次開機只會隨機的取用其中的一張,無法透過 F1 來循環看到所有的圖片。

左上角的 MiSTer 字樣是固定的,如果不喜歡,需要編輯 /media/fat/mister.ini 檔,建議透過 Scripts/ini_settings.sh 來編輯 mister.ini 檔,透過 TAB 鍵選擇到畫面上的 <Advanced…> 即可啟用文字編輯器:

找到其中的 logo=1,改成 logo=0,再用 TAB 點選 OK 儲存,重新開機後生效:

左上角的 MiSTer logo 就消失啦:

關於 Jotego Beta Core 付費一事

之前 Jotego 大神的 CAPCOM CPS2 beta core 時還沒有這個限制,現在隨著 CSP2 core 正式公開後,又一個由 Jotego 撰寫的 SEGA System16 也開始 beta 測試中,此時加入了一個限制,如果你沒有付費贊助 Jotego 的專案的話,那麼 SEGA System16 的遊戲打開後會有幾乎半版的半透明訊息蓋在畫面上,就是希望你能去 https://www.patreon.com/topapate 這裡付費贊助他,這樣他就會給你一個 beta.zip 檔放在 MiSTer 的 games/mame 資料夾下,即可解除這個限制。

注意:如果您有付費贊助 Jotego 專案來取得 beta.zip 的話,雖然你的 MiSTer 系統「時區」不重要,但是「時間」就很重要了,建議還是隨時連網讓開機後有正確的時間資料供 Jotego 的 beta cores 來驗證。

模擬 486 電腦

這個區塊越寫越多,越來越長,決定獨立成一篇 https://www.dearhoney.idv.tw/2423/mister-fpga-ao486/ 繼續寫,

歷史上的今天...


You may also like...

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

:D  :)  :(  :|  (H)  :P  :$    *-)  ;)  :-.-:  :!:  :S  :!!:  [B01]  [B02]  [B03]  [B04]  [B05]  [B06]  [B07]  [B08]  [B09]  [B10]  [B11]  [B12]  [B13]  [B14]  [XP]  :XD  (Y)  (N)  :-O  :@  8o|  :-#  (L)  (U)  ^o)  |-)