MiSTer FPGA - 開源FPGA專案 - 模擬器
By Genevieve
at 2021-03-18T04:34
at 2021-03-18T04:34
Table of Contents
已經使用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
--
Tags:
模擬器
All Comments
By Hardy
at 2021-03-19T19:54
at 2021-03-19T19:54
By Kyle
at 2021-03-21T11:14
at 2021-03-21T11:14
By Annie
at 2021-03-23T02:34
at 2021-03-23T02:34
By Joe
at 2021-03-24T17:54
at 2021-03-24T17:54
By Xanthe
at 2021-03-26T09:14
at 2021-03-26T09:14
By Hardy
at 2021-03-28T00:34
at 2021-03-28T00:34
By Sarah
at 2021-03-29T15:54
at 2021-03-29T15:54
By Ula
at 2021-03-31T07:15
at 2021-03-31T07:15
By Brianna
at 2021-04-01T22:35
at 2021-04-01T22:35
By Emily
at 2021-04-03T13:55
at 2021-04-03T13:55
By Hedy
at 2021-04-05T05:15
at 2021-04-05T05:15
By Brianna
at 2021-04-06T20:35
at 2021-04-06T20:35
By Mary
at 2021-04-08T11:55
at 2021-04-08T11:55
By Hamiltion
at 2021-04-10T03:15
at 2021-04-10T03:15
By Leila
at 2021-04-11T18:35
at 2021-04-11T18:35
By Damian
at 2021-04-13T09:55
at 2021-04-13T09:55
By Ingrid
at 2021-04-15T01:15
at 2021-04-15T01:15
By Faithe
at 2021-04-16T16:35
at 2021-04-16T16:35
By Poppy
at 2021-04-18T07:55
at 2021-04-18T07:55
By Vanessa
at 2021-04-19T23:16
at 2021-04-19T23:16
By Barb Cronin
at 2021-04-21T14:36
at 2021-04-21T14:36
By Vanessa
at 2021-04-23T05:56
at 2021-04-23T05:56
By Dinah
at 2021-04-24T21:16
at 2021-04-24T21:16
By Donna
at 2021-04-26T12:36
at 2021-04-26T12:36
By James
at 2021-04-28T03:56
at 2021-04-28T03:56
By David
at 2021-04-29T19:16
at 2021-04-29T19:16
By Candice
at 2021-05-01T10:36
at 2021-05-01T10:36
By Ida
at 2021-05-03T01:56
at 2021-05-03T01:56
By Irma
at 2021-05-04T17:16
at 2021-05-04T17:16
By Isla
at 2021-05-06T08:36
at 2021-05-06T08:36
By Dorothy
at 2021-05-07T23:56
at 2021-05-07T23:56
Related Posts
Mario 64 MOD Return to Yoshi's Island
By Rebecca
at 2021-03-17T23:45
at 2021-03-17T23:45
請問PCSX2可以跑原版PS2光碟嗎?
By Lydia
at 2021-03-17T22:29
at 2021-03-17T22:29
OpenBOR Night Slashers X Rebalanced
By Caitlin
at 2021-03-17T00:52
at 2021-03-17T00:52
OpenBor JUSTIC LEAGUE Legacy(正義聯盟)
By Olive
at 2021-03-15T23:51
at 2021-03-15T23:51
吞食天地2赤壁之戰的rom
By Skylar DavisLinda
at 2021-03-11T10:12
at 2021-03-11T10:12