作者chris38c28 (克里斯白)
看板Emulator
標題[閒聊] MiSTer FPGA - 開源FPGA專案
時間Thu Mar 18 04:34:23 2021
已經使用MiSTer一年多了,但在板上都沒看到什麼討論,
在台灣相關的文章更是少之又少,想說來拋個一篇。
如果有寫錯東西的話再麻煩補充 XD
--
https://i.imgur.com/Rni5jJv.png
2019年底,我在SmokeMonster的youtube頻道以及retrorgb的blog開始看到
大量MiSTer相關的新聞和影片。
當時NeoGeo、GBA、Sega CD core陸續的釋出消息,以及預告CPS街機、PS1等core開發中
的情報,看了讓人既好奇又興奮。
在github上逛完wiki了解專案後,馬上下訂板子與材料來組出來自己的MiSTer。
專案wiki:
https://github.com/MiSTer-devel/Main_MiSTer/wiki
--
其實FPGA主機發展也好幾年了,紅白機AVS、以及後來很紅的Analogue家產品。
儘管自己早已陸續收了喜歡的主機與遊戲,主機輸出從圓剛AV轉HDMI到RetroTINK搭S端子
,後來scart線也上了、OSSC也買了。
當時看了My Life In Gaming的一系列影片,
最後還是忍不住誘惑買了一台Super Nt來了解他的威力。
My Life In Gaming - Analogue Super Nt
https://www.youtube.com/watch?v=d_OW_t9RXEM
後來Analogue產品大紅,紅白機的Nt系列在去年出了昂貴(550美金)的最後一批,
Super Nt與Mega Sg則已經缺貨一陣子。
掌機的Pocket預購當時也有人貼在本板,預購就大塞車,周邊也搶購一空,一機難求。
PCE的Duo則是預計今年開放預購。
(不過還是提醒想買的人,這家的產品品質很好,但運費與服務一直受到多數人抱怨,
他們家的運費不知道為什麼就是超高,我當時Super Nt的運費是50美金,商品價的1/4)
--
把更新檔丟進SD卡更新core就能解決相關問題,FPGA主機一掃我對過去那些市場上"相容
機"的印象。
商業FPGA主機的產品,成熟度已經非常高了,遇到bug也能更新,不像大多的相容機買來
就是那樣了。
在Analogue網頁上有打著大大的「No Emulation」標語,那時讓byuu看到後寫了洋洋灑灑
一長篇「FPGAs Aren't Magic」的文章。
FPGA對上一般大家熟悉的模擬器,應該是 硬體模擬 vs 軟體模擬。
Analogue網頁上所寫的應該是「非軟體模擬」(比對市面上那些dump rom後做軟體模擬的
機器),而有些宣傳的詞彙與文章確實讓人感覺是在講FPGA就是比軟體模擬還要強。
byuu的文章則是回應這套說詞,兩者的開發都是站在同一個起跑點,共享一樣的知識
大家透過不同的方式來實做。
硬體模擬與軟體模擬在很多地方都各有優缺點差異
近年來很夯的把畫面改成寬螢幕、2D圖層變3D、或是大家最喜歡的即時存檔、倒帶功能,
這些在FPGA主機上要實作反而不容易。
相反的像Analogue主機支援各種原廠周邊,原廠手把直接插上去可以用、超任插上Super
Game Boy與GB卡夾也可以玩、MD的Mega-CD接上去也能用,這些都是dump卡夾後軟體模擬
的主機無法做到的。
少了背後OS的干擾,FPGA在延遲方面也優於一般軟體模擬,運作的穩定與一致性也相對比
較高。
FPGA的專案也常常說自己是「reimplementation」(重新實作),偶爾也會看到有些重
新實作出來的晶片,最後真的被作出來並替換到要修復的街機的板子上。
好 講的廢話有點多,該進入正題了
--
1. 組MiSTer需要什麼
- (必須) 友晶 terasic DE10-Nano FPGA板
- (必須) Micro USB OTG Hub 或 官方USB板
- (選配) SDRAM板子 (32MB ~ 128MB)
- (選配) IO板子 (類比 or 數位)
https://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=Taiwan&No=1047
DE10-Nano這塊板子可以在官網買,看上面寫有學生身分還有學生價。
我自己當初是到Mouser買,切換成美金後以130幾美金就可以入手,
送台灣免運不過需要付一點點關稅。
USB Hub是拿來接手把、鍵盤、USB等裝置用的,這個必須要自己買一個。
購買官方USB Hub的好處是,板子與DE10-Nano大小相同,可以組出一座塔,還有中央連接
板,可以讓你中間連接的線不會醜醜的露在外面。
SDRAM板子是選配,但通常大家會直上128MB(約1500台幣),因為NeoGeo滿多遊戲會吃到那
麼多,kof、越南大戰等都吃滿多的(96MB)。
NeoGeo SDRAM可以看這個表查:
https://github.com/MiSTer-devel/NeoGeo_MiSTer/blob/master/releases/romsets.xml
不過大部分的core是不需要SDRAM的,可以在wiki查
core SDRAM需求:
https://github.com/MiSTer-devel/Main_MiSTer/wiki/Cores-that-use-SDRAM
IO板不是必須,不過他主要提供給你
- (類比IO板) VGA / YPbPr / RGB 輸出
- (數位IO板) 額外的預留擴充插槽(目前沒人使用)
- 風扇散熱
- 三顆按鈕與LED燈
其他還有滿多細節的,像音訊輸出、轉出IO讓SNAC可以使用之類的,可以上wiki查詢
如果不想要多花錢買IO板,也可以去列印別人的3D列印上蓋,也有留讓你上風扇的地方。
想要全配的人當然是上好上滿,順便換個貓扇 XD
但你如果沒有要碰那些需要SDRAM的core,也沒有特別需要IO板帶給你的好處
也可以先只用DE10-Nano就好,反正剩下的可以慢慢升級。
風扇上不上就看人,有些人覺得板子運作環境本來就可以承受那樣的溫度,也有人是覺得
上散熱片跟風扇比較好。
殼的部分網路上有很多3D殼可以載來印,也有雷射切割的殼可以去買銅柱回來搭配使用,
大家可以各自發揮,也有人DIY把它塞進其他裝置的鋁殼內,或是某些懷舊電腦殼內的。
第一次執行時,與樹莓派差不多,把映像檔寫進SD卡後,直接開機會自動幫你設定完成。
--
2. 控制器與儲存裝置
上面有寫MiSTer需要搭配USB hub,
MiSTer有在板子的ARM上跑了Linux系統,負責介面、控制IO、以及檔案系統,再與FPGA做
溝通。
所以你插在上面的USB手把,只要能被MiSTer的Linux辨認到都可以運作。
有線連接手把、鍵盤、或是滑鼠都可以,
使用藍芽接收器也能無線使用PS4、XBOX或是Switch、Wii的手把,8bitdo的接收器也行。
社群也有維護一份常見控制器在MiSTer的延遲表:
https://twitter.com/MisterAddons/status/1312048384119799809
也可以外接USB硬碟來擴充容量,把core與系統放在SD卡,剩下的檔案放在USB硬碟。
雖然過了一層Linux系統,但你可以透過設定1000hz polling rate來減低延遲,
若PS4手把的延遲你覺得不夠低,還有能自製daemonbite手把轉接器,將延遲壓到最低
Daemonbite:
https://github.com/MickGyver/DaemonBite-Retro-Controllers-USB
當然MiSTer也支援完全沒延遲的原生手把! (須購買SNAC轉接版)
使用SNAC轉接 是直接接到IO板上的User port,不透過Linux系統的USB而沒有延遲,
讓你可以在core上使用原生手把,但是當然只有該主機的手把能對應支援該core,光線槍
也可以運作,
還不只這個功能,還有GameBoy能接對戰線。GBA也支援使用超任手把。
https://www.youtube.com/watch?v=fZin_BHa7Ew
另外還有Bliss-Box(透過LLAPI),不過他需要第三方改core才能支援。
喜歡用大型機台的最近也有MiSTerCade,讓你用JAMMA接到大型機台裡面使用。
MiSTerCade:
https://www.youtube.com/watch?v=PVk_Z1g1qb8
另外滿多core的光線槍支援,若不使用SNAC+該主機的光線槍,那你可以使用Wii手把、滑
鼠、手把類比來替代(畫面會有十字準心)
--
3. core的安裝與更新
官方更新的方式滿原始的,就是跑shell script來更新
從官方menu選到script選項,可以進到script資料夾底下,選擇update.sh來更新
script會從github上的wiki爬列表,再從各專案的core檢查是否有新版本能使用
官方預設的 update.sh 會更新所有歸類在官方"MiSTer-devel"這個組織底下的專案
但因為後來有一些開發者會把core放在自己的github,或是專案並不想整合進官方組織底
下(因為需要遵守一些格式要求等等)。
所以又有其他人寫了update_all.sh (更新了包含官方/非官方 與其他額外的工具)
MiSTer Update All:
https://github.com/theypsilon/Update_All_MiSTer
Update All的好處是統整了不少額外可手動選擇的script,像是Arcade organizer,
會幫你把街機按照類型、公司、平台,透過symbolic link的方式建成一系列目錄
跑完後就一切處理完畢,我都習慣每次開起來使用時就先跑一次更新。
陽春的UI是受限於板子上ARM的效能而做的取捨,現在就是簡單易用但陽春。
--
4. 檔案
目前MiSTer官方並沒有實作/開發周邊來支援讀取實體卡帶 / 光碟
因為直接讀取卡帶/CD的穩定性以及種種考量,目前僅能讀取dump好的檔案
雖然有看過幾篇討論是否有機會加上去,但目前這個並沒有在開發的計畫之中
看過有人說透過一些USB的Cart Reader, Rom Dumper是可以達到插實體卡的效果,
但那也是dump一份出來,就跟某些支援實體卡的軟體模擬主機一樣
如果想要原汁原味的實卡、CD,目前只能買Analogue那種商業FPGA主機才有辦法。
依照core將檔案 分類放入/game目錄底下的對應資料夾即可
不少core支援讀取壓縮檔,也就是你可以不壓縮就直接讀取內部某個檔案
--
5. 顯示設定
- 畫面設定
其實畫面大小有太多東西可以設定了,都在MiSTer的設定介面/編輯設定檔可以調整
像是調整放大倍數,vsync buffer
也可以針對個別的core去下設定 (只是要寫在設定檔內)
也有支援一些特殊的用法,像是預設有一個是iPad 3面板(2048x1536)使用的解析度
https://i.imgur.com/AkxJEU4.png
https://i.imgur.com/Bsydfjq.png
iPad 3面板延遲測試:
https://twitter.com/smokemonstertwi/status/1274195030920445952
- 掃描線
MiSTer的掃描線有非常多可以選,Interpolation、亮暗線、顏色由淺到深(10%~90%)
、銳利或柔邊、LCD模糊...等
詳細說明:
https://github.com/MiSTer-devel/Filters_MiSTer
最近不少core也支援了1920x1080p, 5倍放大裁切模式
原本240高的遊戲如果放大到螢幕滿應該是4.5倍放到1080
但如果是4.5x配上掃描線效果怪怪的
所以最近就多加了一個五倍放大 多的地方裁掉的模式
剩下的功能幾乎都是每個core各自實作的
--
6. 開發者介紹
- Sorgelig (Alexey Melnikov)
創造了MiSTer專案,也參與了非常多core的移植與開發
維護了整個MiSTer的框架,方便開發者在上面開發
- srg320 (
https://twitter.com/srg320_ )
我印象中有開發了超任、Mega CD、PCE CD
而他現在正在著手開始進行Sega Saturn
不過Sega Saturn是否能塞進DE10-Nano還是未知數
但因為他之前開發太多core了,所以大家都滿期待的
不過很難知道他的開發進度,twitter跟patreon都是近期在開發Sega Saturn時才開的
- Jotego (
https://twitter.com/topapate )
以開發街機機板core為主,本身的職業就是Analog Design Engineer
(他開發的core都沒在官方github上,所以要用update_all的script才抓的到)
開發了 YAMAHA音效晶片, 雙截龍, 泡泡龍, Konami魂斗羅, CPS1 / 1.5等core
目前CPS2正在以每周釋出一版beta的速度開發中 (patreon限定, 正式版會直接釋出)
之前他調整了CPS1/1.5 core的速度,現在跟實體基板的準確度已經非常接近了
MAME,實體基板,CPS core的準確度測試比較:
https://www.patreon.com/posts/cps1-cps1-5-46899296
CPS2快打與實體基板驗證影片
https://www.youtube.com/watch?v=EblLG8geeQU
jotego對於ebay拍賣上一堆販售的天價基板感到感冒,
這也是驅使他做開源FPGA街機core的一部分原因
在最近收到了玩家捐的數塊街機基板 (EX: Psikyo SH2等)
可以預期這些基板在未來都有機會被做成MiSTer的街機core
在這之前的CPS等core也是有人捐基板 以及他自己擁有的基板
讓他能夠直接檢驗core的準確性
- Furrtek (
https://twitter.com/furrtek )
開發Neo Geo core
他Decap了Neo Geo的晶片,把研究都記錄了下來,最後做了Neo Geo的core
同時也是Neo Geo CD的ODE開發者,也幫忙Decap了一堆其他別的晶片
- FPGAzumSpass (
https://twitter.com/azumfpg )
主要以掌機開發為主,開發了GBA、現在在開發Atari Lynx
Demo過NDS的core,不過在板子的硬體限制下,評估後是無法完全的模擬
改進了原本從MiST專案移植來MiSTer的Game Boy core
同時也幫這些core都加上了 即時存檔以及倒帶功能 等較難達成的功能
協助改進GB的功能介紹:
https://www.youtube.com/watch?v=_kFS4z0Q-Ms
GBA core準確度比較表:
https://github.com/MiSTer-devel/GBA_MiSTer#accuracy
另外也有協助分析Holy Grail Bug
https://github.com/RobertPeip/FPGBA/wiki/Madden-06-07-%22Holy-Grail%22-Bug
- Josh Bassett (
https://twitter.com/nullobject )
移植/開發CAVE 68000 core (原本是由rwk開發,後來接手給他繼續開發並移植MiSTer)
一月時釋出了第一版 怒首領蜂 的core
- Laxer3A (
https://twitter.com/laxer3a )
從我買板子的時候開始,已經開發PS1的core一年多,後期與ultraembedded一起開發
最近這兩個月釋出了DEMO影片,目前他們是在Arty A7板子上開發
之後完成後會將core移植回DE10-Nano
--
除了家用主機、掌機、街機以外
MiSTer上也有大量的電腦core,Amiga、MSX、Sharp x68000、C64...
但這個我就比較沒有研究了 XD
MiSTer是站在過去那些人肩膀上而產生的專案
在我入手的這一年多以來看到很多 軟硬體模擬間的互動與合作
還滿期待他未來的發展
推薦給玩膩了軟體模擬,也想一起入坑試試FPGA主機的人
雖然跟樹莓派比起來貴了很多,也沒有辦法玩到像他那麼後面的新主機
可能遊玩時也感受不出更準確的模擬差異是在哪
但FPGA確實有他的一種魅力在 XD
只是如果想要插實體卡帶、光碟的話,目前還是得去跟黃牛搶Analogue家的產品了
--
最近這幾天在我斷斷續續寫這篇文章的時候
My Life In Gaming釋出了他們的ANALOG FRONTIERS紀錄片第三集
裡面討論了資料保存、軟體模擬、硬體模擬等議題
很多跟這個版息息相關的事情
裡面也有討論MiSTer專案跟AVS/Analogue的主機 有興趣大家也可以看看 XD
https://www.youtube.com/watch?v=Nt3WyfMffX0
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.160.115.235 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Emulator/M.1616013274.A.30A.html
推 sugarcube: 03/18 08:52
推 aoirx: 感謝整理及分享, 玩模擬器這麼多年, 今年才知道有這種產品 03/18 10:11
→ aoirx: 感覺門檻滿高的, 口袋要深, 也要一些電子軟硬體知識才行吧? 03/18 10:11
→ aoirx: 比起滿滿的英文資料, 恐怕這是很難輕易商業化的原因 03/18 10:12
→ aoirx: 某種程度商業化之後, 入門門檻才會降低(個人感覺) 03/18 10:13
其實MiSTer的門檻已經降低很多了 XD
1. DE10-Nano是一塊CP值很高,也很好買到的板子
(有看到別人說那塊板子原本是教育用途的開發板,所以CP值才會那麼高)
2. 那些被設計好的擴充板都是買來插上去就能使用的,
各國社群也有人會賣已經組好的全配裝備、或是現成的擴充板
3. 這一年來,許多人已經寫好自動化的script幫你處理大多數更新的問題
設定東西除非你要調整很細微的設定,不然大多都已經有別人整理好的預設設定能用
4. 國外youtube上介紹MiSTer以及如何組裝的影片很多,所以讓門檻又降低了一些
板子好買、社群活躍,好的框架設計方便開發者開發,加上許多教學資源
這是MiSTer會紅起來的原因
所以門檻其實有降低不少了
但在台灣要接觸,你就要英文好一點 XD
推 fox527: 現在中文的資訊非常少,很感謝你的介紹! 03/18 10:55
推 hipposman: 謝謝分享 03/18 11:12
推 BadGame: 很有心的介紹 03/18 11:13
推 oopFoo: 謝謝,這真需要有心有錢 03/18 11:19
可能要看怎麼比較 XD
跟樹莓派之類的比當然價格差很多,但就是軟硬體模擬的差異
和Analogue之類的商業主機比,少了讀取實體片的功能,但一塊板子能抵上數台機子
(有人買A家主機後是直接JB/插Everdrive配8Bitdo手把,那這樣跟MiSTer的差異不大啊..
以街機的角度而言,若準確度都像CPS那樣受到實體基板驗證過,那其實感覺還挺賺的 XD
以家用主機而言,有些家用主機無法輸出RGB還要去改,全部搞定可能也花了不少了
(我自己就只有支援RGB的用OSSC,其他都還是用S端子,改下去是大坑啊
這幾年來主機的ODE跟HDMI輸出mod滿盛行的 但每一套也都是100~200美在賣的XD
玩MiSTer大多數的東西只要一塊DE10-Nano(4000台幣出頭就能搞定)
不過其他擴充板都買起來的話 價格就...恩
推 oopFoo: 這樣講來,其實也不貴,pi抽屜都不知道放幾個閒著。 03/18 12:25
推 kashin: 大推 感謝分享 03/18 12:35
推 playlive: 第一次知道有這種東西,感謝分享如此寶貴的資訊! 03/18 13:09
推 dbjdx: 模擬硬體嗎 讓原本的周邊卡帶也能用是嗎 03/18 13:42
MiSTer可以查一下各個core的實作,大多都已經支援原廠手把/光線槍,卡帶目前沒有歐
要卡帶周邊的話 Analogue家的產品確實是這樣沒錯
Nt mini (紅白機) => 已絕版,可接FC磁碟機
Super Nt (超任) => 可使用Super Game Boy與其他超任特殊卡夾
Mega Sg (MD) => SEGA Master System、Game Gear(需買轉接設備)、Mega-CD,
最近有公布32x可搭配他們的DAC使用
Pocket (掌機) => GB / GBC / GBA,
Game Gear、Neo Geo Pocket、Atari Lynx (需買轉接卡夾設備)
Duo (PCE) => PCE / PCE-CD
Super Nt / Mega Sg 最近3,4月會補貨
Pocket很難搶...
Duo還沒開放
對Analogue的產品有興趣的話可以去看看youtube上的Review
有針對這些做說明/測試 EX: 超任
https://youtu.be/d_OW_t9RXEM?t=390
→ msun: 我買第一版的紅白機 價錢比現在PS5還貴 而且還被海關抽稅 03/18 14:10
Nt系列的價格都被炒到很貴 XDD
但確實有不少好處,本身支援 數位/類比 兩種輸出 (後來的產品只有HDMI, 類比要買DAC
另外就是在JB後 作者有額外讓他可以玩GB/GBC, MD, SMS等core
→ msun: 買得時候沒被炒 是第一批的 付錢等了不知道有沒有一年 03/18 14:19
→ msun: 第一批的Nt 不能JB 已被官方放生 03/18 14:19
→ msun: 然後官網還少寄訂購的兩支NES手把給我 03/18 14:21
→ msun: 寫信過去也愛理不理 態度很差 03/18 14:21
啊 原來第一批Nt的不能JB 我一直以為跟Nt mini一樣
他們家的服務真的是 唉... 每次開預購在推特上都看到有人抱怨 XD
推 fox527: MiSTer這種一機解決方案才符合民情XD 03/18 16:12
推 napdh: 軟體模擬受限先天限制,input delay不可避免,尤其玩洛克人 03/18 19:37
→ napdh: x或是格鬥遊戲更能感覺到這幾frame的差異,FPGA算是個解決 03/18 19:37
→ napdh: 方案又能以現代方式增強畫面表現,算是進階玩家的高級選擇 03/18 19:37
→ napdh: ,一直也想有一天組一台,saturn core出的話可能就是我入 03/18 19:37
→ napdh: 場的時機,感謝分享! 03/18 19:37
推 kashin: MiSTer這種等級的模擬只能到16位元 出新款板子SS才有機會 03/18 22:08
SS現在確實還不知道可不可以
srg320有在推特上說他只有DE10-Nano這塊板子 他也別無選擇 只能塞了XD
他辦twitter跟patreon 是因為需要錢去買相關的設備回來研究SS
現在大家也是基於他過去對MiSTer社群貢獻那麼多的情況下 給予支援與期待
記得一年前PS1 core剛起步的時候 看討論也是不太樂觀 說很可能塞不下
但後來慢慢開發後 情況愈來愈樂觀
現在則是說可以 只是他們先做在另一塊板子上 之後再移植回來
推 EDGE: 感謝解說!聽某大大提過但MiSTer目前中文資訊太少… 03/18 23:56
我認識的都沒人在講MiSTer 跟他們說 很多人都以為是類似樹莓派的東西 XD
Analogue家的東西也沒認識的人買 在台灣感覺真的滿冷門的
推 segafankwl: 推!沒想到難得看到中文討論MiSTer就是這麼詳細的好文 03/19 01:19
感謝! 跟大大比還是差多了 寫這篇是拋磚引玉 想看有多少人也在玩 可以一起討論
但主要目的還是寫多一點 看能不能吸引一些不認識MiSTer的人進來一起玩玩看 XD
推 aoirx: 覺得SS這種應該超困難吧... 03/19 11:22
推 MADAOTW: 不知道能不能弄出一台讀UMD 的PSP 03/21 13:12
推 zack867: 用心好文 03/21 16:09
推 fantasymaya: 能decap & reverse RTL,那乾脆直接去開chip好了... 03/22 06:19
https://www.tindie.com/stores/furrtek/
https://twitter.com/caiusarcade
你說...像這樣嗎? 滿多都是拿來取代原本壞掉的
推 bobby4755: 推 FPGA在長遠來看 是保存主機運作原理的好方式 03/26 00:40
推 cloudkyoo: 之前就有在注意MisTer,只是所有的資訊幾乎全是英文 03/27 20:16
→ cloudkyoo: ,要花很多時間來搞懂,發現台灣有您這樣的高手分享 03/27 20:16
→ cloudkyoo: 資訊真是太好了! 03/27 20:16
推 rockmanx52: UMD滿可惜的 SONY本來還有計畫出給PS3用的UMD光碟機 03/31 05:01
※ 編輯: chris38c28 (1.160.115.113 臺灣), 05/09/2021 18:16:21
推 sinread: 補個最近看到的 SS 大約完成度是 80% 囉,指日可待 08/14 01:26
→ sinread: Analogue 搶不到就是搶不到,放生 ! 用 MisTer 省心 08/14 01:27
→ sinread: 希望有興趣的一起交流 ! 08/14 01:28
推 randy061: 謝謝分享 這主意很棒呢 10/23 12:53