[閒聊] MiSTer FPGA - 開源FPGA專案

看板Emulator作者 (克里斯白)時間3年前 (2021/03/18 04:34), 3年前編輯推噓22(22014)
留言36則, 19人參與, 3年前最新討論串1/1
已經使用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也支援使用超任手把。 另外還有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
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

03/18 08:52, 3年前 , 1F
03/18 08:52, 1F

03/18 10:11, 3年前 , 2F
感謝整理及分享, 玩模擬器這麼多年, 今年才知道有這種產品
03/18 10:11, 2F

03/18 10:11, 3年前 , 3F
感覺門檻滿高的, 口袋要深, 也要一些電子軟硬體知識才行吧?
03/18 10:11, 3F

03/18 10:12, 3年前 , 4F
比起滿滿的英文資料, 恐怕這是很難輕易商業化的原因
03/18 10:12, 4F

03/18 10:13, 3年前 , 5F
某種程度商業化之後, 入門門檻才會降低(個人感覺)
03/18 10:13, 5F
其實MiSTer的門檻已經降低很多了 XD 1. DE10-Nano是一塊CP值很高,也很好買到的板子 (有看到別人說那塊板子原本是教育用途的開發板,所以CP值才會那麼高) 2. 那些被設計好的擴充板都是買來插上去就能使用的, 各國社群也有人會賣已經組好的全配裝備、或是現成的擴充板 3. 這一年來,許多人已經寫好自動化的script幫你處理大多數更新的問題 設定東西除非你要調整很細微的設定,不然大多都已經有別人整理好的預設設定能用 4. 國外youtube上介紹MiSTer以及如何組裝的影片很多,所以讓門檻又降低了一些 板子好買、社群活躍,好的框架設計方便開發者開發,加上許多教學資源 這是MiSTer會紅起來的原因 所以門檻其實有降低不少了 但在台灣要接觸,你就要英文好一點 XD

03/18 10:55, 3年前 , 6F
現在中文的資訊非常少,很感謝你的介紹!
03/18 10:55, 6F

03/18 11:12, 3年前 , 7F
謝謝分享
03/18 11:12, 7F

03/18 11:13, 3年前 , 8F
很有心的介紹
03/18 11:13, 8F

03/18 11:19, 3年前 , 9F
謝謝,這真需要有心有錢
03/18 11:19, 9F
可能要看怎麼比較 XD 跟樹莓派之類的比當然價格差很多,但就是軟硬體模擬的差異 和Analogue之類的商業主機比,少了讀取實體片的功能,但一塊板子能抵上數台機子 (有人買A家主機後是直接JB/插Everdrive配8Bitdo手把,那這樣跟MiSTer的差異不大啊.. 以街機的角度而言,若準確度都像CPS那樣受到實體基板驗證過,那其實感覺還挺賺的 XD 以家用主機而言,有些家用主機無法輸出RGB還要去改,全部搞定可能也花了不少了 (我自己就只有支援RGB的用OSSC,其他都還是用S端子,改下去是大坑啊 這幾年來主機的ODE跟HDMI輸出mod滿盛行的 但每一套也都是100~200美在賣的XD 玩MiSTer大多數的東西只要一塊DE10-Nano(4000台幣出頭就能搞定) 不過其他擴充板都買起來的話 價格就...恩

03/18 12:25, 3年前 , 10F
這樣講來,其實也不貴,pi抽屜都不知道放幾個閒著。
03/18 12:25, 10F

03/18 12:35, 3年前 , 11F
大推 感謝分享
03/18 12:35, 11F

03/18 13:09, 3年前 , 12F
第一次知道有這種東西,感謝分享如此寶貴的資訊!
03/18 13:09, 12F

03/18 13:42, 3年前 , 13F
模擬硬體嗎 讓原本的周邊卡帶也能用是嗎
03/18 13:42, 13F
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

03/18 14:10, 3年前 , 14F
我買第一版的紅白機 價錢比現在PS5還貴 而且還被海關抽稅
03/18 14:10, 14F
Nt系列的價格都被炒到很貴 XDD 但確實有不少好處,本身支援 數位/類比 兩種輸出 (後來的產品只有HDMI, 類比要買DAC 另外就是在JB後 作者有額外讓他可以玩GB/GBC, MD, SMS等core

03/18 14:19, 3年前 , 15F
買得時候沒被炒 是第一批的 付錢等了不知道有沒有一年
03/18 14:19, 15F

03/18 14:19, 3年前 , 16F
第一批的Nt 不能JB 已被官方放生
03/18 14:19, 16F

03/18 14:21, 3年前 , 17F
然後官網還少寄訂購的兩支NES手把給我
03/18 14:21, 17F

03/18 14:21, 3年前 , 18F
寫信過去也愛理不理 態度很差
03/18 14:21, 18F
啊 原來第一批Nt的不能JB 我一直以為跟Nt mini一樣 他們家的服務真的是 唉... 每次開預購在推特上都看到有人抱怨 XD

03/18 16:12, 3年前 , 19F
MiSTer這種一機解決方案才符合民情XD
03/18 16:12, 19F

03/18 19:37, 3年前 , 20F
軟體模擬受限先天限制,input delay不可避免,尤其玩洛克人
03/18 19:37, 20F

03/18 19:37, 3年前 , 21F
x或是格鬥遊戲更能感覺到這幾frame的差異,FPGA算是個解決
03/18 19:37, 21F

03/18 19:37, 3年前 , 22F
方案又能以現代方式增強畫面表現,算是進階玩家的高級選擇
03/18 19:37, 22F

03/18 19:37, 3年前 , 23F
,一直也想有一天組一台,saturn core出的話可能就是我入
03/18 19:37, 23F

03/18 19:37, 3年前 , 24F
場的時機,感謝分享!
03/18 19:37, 24F

03/18 22:08, 3年前 , 25F
MiSTer這種等級的模擬只能到16位元 出新款板子SS才有機會
03/18 22:08, 25F
SS現在確實還不知道可不可以 srg320有在推特上說他只有DE10-Nano這塊板子 他也別無選擇 只能塞了XD 他辦twitter跟patreon 是因為需要錢去買相關的設備回來研究SS 現在大家也是基於他過去對MiSTer社群貢獻那麼多的情況下 給予支援與期待 記得一年前PS1 core剛起步的時候 看討論也是不太樂觀 說很可能塞不下 但後來慢慢開發後 情況愈來愈樂觀 現在則是說可以 只是他們先做在另一塊板子上 之後再移植回來

03/18 23:56, 3年前 , 26F
感謝解說!聽某大大提過但MiSTer目前中文資訊太少…
03/18 23:56, 26F
我認識的都沒人在講MiSTer 跟他們說 很多人都以為是類似樹莓派的東西 XD Analogue家的東西也沒認識的人買 在台灣感覺真的滿冷門的

03/19 01:19, 3年前 , 27F
推!沒想到難得看到中文討論MiSTer就是這麼詳細的好文
03/19 01:19, 27F
感謝! 跟大大比還是差多了 寫這篇是拋磚引玉 想看有多少人也在玩 可以一起討論 但主要目的還是寫多一點 看能不能吸引一些不認識MiSTer的人進來一起玩玩看 XD

03/19 11:22, 3年前 , 28F
覺得SS這種應該超困難吧...
03/19 11:22, 28F

03/21 13:12, 3年前 , 29F
不知道能不能弄出一台讀UMD 的PSP
03/21 13:12, 29F

03/21 16:09, 3年前 , 30F
用心好文
03/21 16:09, 30F

03/22 06:19, 3年前 , 31F
能decap & reverse RTL,那乾脆直接去開chip好了...
03/22 06:19, 31F
https://www.tindie.com/stores/furrtek/ https://twitter.com/caiusarcade 你說...像這樣嗎? 滿多都是拿來取代原本壞掉的 ※ 編輯: chris38c28 (111.241.150.52 臺灣), 03/22/2021 21:04:38

03/26 00:40, 3年前 , 32F
推 FPGA在長遠來看 是保存主機運作原理的好方式
03/26 00:40, 32F

03/27 20:16, 3年前 , 33F
之前就有在注意MisTer,只是所有的資訊幾乎全是英文
03/27 20:16, 33F

03/27 20:16, 3年前 , 34F
,要花很多時間來搞懂,發現台灣有您這樣的高手分享
03/27 20:16, 34F

03/27 20:16, 3年前 , 35F
資訊真是太好了!
03/27 20:16, 35F

03/31 05:01, 3年前 , 36F
UMD滿可惜的 SONY本來還有計畫出給PS3用的UMD光碟機
03/31 05:01, 36F
文章代碼(AID): #1WKcVQCA (Emulator)