MiSTer FPGA - 開源FPGA專案 - 模擬器

Genevieve avatar
By Genevieve
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

--

All Comments

Hardy avatar
By Hardy
at 2021-03-19T19:54
Kyle avatar
By Kyle
at 2021-03-21T11:14
感謝整理及分享, 玩模擬器這麼多年, 今年才知道有這種產品
感覺門檻滿高的, 口袋要深, 也要一些電子軟硬體知識才行吧?
Annie avatar
By Annie
at 2021-03-23T02:34
比起滿滿的英文資料, 恐怕這是很難輕易商業化的原因
Joe avatar
By Joe
at 2021-03-24T17:54
某種程度商業化之後, 入門門檻才會降低(個人感覺)
Xanthe avatar
By Xanthe
at 2021-03-26T09:14
現在中文的資訊非常少,很感謝你的介紹!
Hardy avatar
By Hardy
at 2021-03-28T00:34
謝謝分享
Sarah avatar
By Sarah
at 2021-03-29T15:54
很有心的介紹
Ula avatar
By Ula
at 2021-03-31T07:15
謝謝,這真需要有心有錢
Brianna avatar
By Brianna
at 2021-04-01T22:35
這樣講來,其實也不貴,pi抽屜都不知道放幾個閒著。
Emily avatar
By Emily
at 2021-04-03T13:55
大推 感謝分享
Hedy avatar
By Hedy
at 2021-04-05T05:15
第一次知道有這種東西,感謝分享如此寶貴的資訊!
Brianna avatar
By Brianna
at 2021-04-06T20:35
模擬硬體嗎 讓原本的周邊卡帶也能用是嗎
Mary avatar
By Mary
at 2021-04-08T11:55
我買第一版的紅白機 價錢比現在PS5還貴 而且還被海關抽稅
Hamiltion avatar
By Hamiltion
at 2021-04-10T03:15
買得時候沒被炒 是第一批的 付錢等了不知道有沒有一年
第一批的Nt 不能JB 已被官方放生
Leila avatar
By Leila
at 2021-04-11T18:35
然後官網還少寄訂購的兩支NES手把給我
寫信過去也愛理不理 態度很差
Damian avatar
By Damian
at 2021-04-13T09:55
MiSTer這種一機解決方案才符合民情XD
Ingrid avatar
By Ingrid
at 2021-04-15T01:15
軟體模擬受限先天限制,input delay不可避免,尤其玩洛克人
x或是格鬥遊戲更能感覺到這幾frame的差異,FPGA算是個解決
方案又能以現代方式增強畫面表現,算是進階玩家的高級選擇
,一直也想有一天組一台,saturn core出的話可能就是我入
場的時機,感謝分享!
Faithe avatar
By Faithe
at 2021-04-16T16:35
MiSTer這種等級的模擬只能到16位元 出新款板子SS才有機會
Poppy avatar
By Poppy
at 2021-04-18T07:55
感謝解說!聽某大大提過但MiSTer目前中文資訊太少…
Vanessa avatar
By Vanessa
at 2021-04-19T23:16
推!沒想到難得看到中文討論MiSTer就是這麼詳細的好文
Barb Cronin avatar
By Barb Cronin
at 2021-04-21T14:36
覺得SS這種應該超困難吧...
Vanessa avatar
By Vanessa
at 2021-04-23T05:56
不知道能不能弄出一台讀UMD 的PSP
Dinah avatar
By Dinah
at 2021-04-24T21:16
用心好文
Donna avatar
By Donna
at 2021-04-26T12:36
能decap & reverse RTL,那乾脆直接去開chip好了...
James avatar
By James
at 2021-04-28T03:56
推 FPGA在長遠來看 是保存主機運作原理的好方式
David avatar
By David
at 2021-04-29T19:16
之前就有在注意MisTer,只是所有的資訊幾乎全是英文
,要花很多時間來搞懂,發現台灣有您這樣的高手分享
資訊真是太好了!
Candice avatar
By Candice
at 2021-05-01T10:36
UMD滿可惜的 SONY本來還有計畫出給PS3用的UMD光碟機
Ida avatar
By Ida
at 2021-05-03T01:56
補個最近看到的 SS 大約完成度是 80% 囉,指日可待
Irma avatar
By Irma
at 2021-05-04T17:16
Analogue 搶不到就是搶不到,放生 ! 用 MisTer 省心
Isla avatar
By Isla
at 2021-05-06T08:36
希望有興趣的一起交流 !
Dorothy avatar
By Dorothy
at 2021-05-07T23:56
謝謝分享 這主意很棒呢

Mario 64 MOD Return to Yoshi's Island

Rebecca avatar
By Rebecca
at 2021-03-17T23:45
作者簡介 Return to Yoshiand#39;s Island 64 DEMO RELEASE andamp; DOWNLOAD https://youtu.be/Yw47rfTxh5c 還是DEMO 不過可以解23顆星星 預計2022年 推出完整版 這邊有通關影片 ...

請問PCSX2可以跑原版PS2光碟嗎?

Lydia avatar
By Lydia
at 2021-03-17T22:29
我買了一片二手的大戰略2,想再去買一片二手的基連野望, 但不知道PCSX2能不能用(我沒有PS2,只有模擬器), 所以為了避免白買,想請問PCSX2能玩正版光碟嗎? 感謝感謝! - ...

OpenBOR Night Slashers X Rebalanced

Caitlin avatar
By Caitlin
at 2021-03-17T00:52
Night Slashers X Rebalance - Next update notice https://youtu.be/4K39LLIWv8c 2021 3月更新版 4個角色遊玩 不能再選同一隻 修復一些控制問題 PC版 https://www.mediafire.com/fi ...

OpenBor JUSTIC LEAGUE Legacy(正義聯盟)

Olive avatar
By Olive
at 2021-03-15T23:51
版本 V1.2.0更新 一共52個角色 帶有4章長篇故事模式 以及獎勵模式 和其他內容 Justice League Legacy Definitive Edition https://youtu.be/An5pKJqjV3g 下載 https://gamejolt.co ...

吞食天地2赤壁之戰的rom

Skylar DavisLinda avatar
By Skylar DavisLinda
at 2021-03-11T10:12
平常找遊戲,下載,如果有缺檔,多下載幾個也就補完了。但這次,卡普空的街機經典:and#34;吞食天地2:赤壁之戰and#34;讓我找了一個多小時才找齊。 主要是mame有點龜毛,就是會檢查檔案有沒有完整,越新版的mame會檢查越多檔案。我現在用的是最新版0.229。 and#34;吞食天地2:赤壁之戰an ...