作者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://webptt.com/cn.aspx?n=bbs/Emulator/M.1616013274.A.30A.html
1F:推 sugarcube: 03/18 08:52
2F:推 aoirx: 感谢整理及分享, 玩模拟器这麽多年, 今年才知道有这种产品 03/18 10:11
3F:→ aoirx: 感觉门槛满高的, 口袋要深, 也要一些电子软硬体知识才行吧? 03/18 10:11
4F:→ aoirx: 比起满满的英文资料, 恐怕这是很难轻易商业化的原因 03/18 10:12
5F:→ aoirx: 某种程度商业化之後, 入门门槛才会降低(个人感觉) 03/18 10:13
其实MiSTer的门槛已经降低很多了 XD
1. DE10-Nano是一块CP值很高,也很好买到的板子
(有看到别人说那块板子原本是教育用途的开发板,所以CP值才会那麽高)
2. 那些被设计好的扩充板都是买来插上去就能使用的,
各国社群也有人会卖已经组好的全配装备、或是现成的扩充板
3. 这一年来,许多人已经写好自动化的script帮你处理大多数更新的问题
设定东西除非你要调整很细微的设定,不然大多都已经有别人整理好的预设设定能用
4. 国外youtube上介绍MiSTer以及如何组装的影片很多,所以让门槛又降低了一些
板子好买、社群活跃,好的框架设计方便开发者开发,加上许多教学资源
这是MiSTer会红起来的原因
所以门槛其实有降低不少了
但在台湾要接触,你就要英文好一点 XD
6F:推 fox527: 现在中文的资讯非常少,很感谢你的介绍! 03/18 10:55
7F:推 hipposman: 谢谢分享 03/18 11:12
8F:推 BadGame: 很有心的介绍 03/18 11:13
9F:推 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台币出头就能搞定)
不过其他扩充板都买起来的话 价格就...恩
10F:推 oopFoo: 这样讲来,其实也不贵,pi抽屉都不知道放几个闲着。 03/18 12:25
11F:推 kashin: 大推 感谢分享 03/18 12:35
12F:推 playlive: 第一次知道有这种东西,感谢分享如此宝贵的资讯! 03/18 13:09
13F:推 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
14F:→ msun: 我买第一版的红白机 价钱比现在PS5还贵 而且还被海关抽税 03/18 14:10
Nt系列的价格都被炒到很贵 XDD
但确实有不少好处,本身支援 数位/类比 两种输出 (後来的产品只有HDMI, 类比要买DAC
另外就是在JB後 作者有额外让他可以玩GB/GBC, MD, SMS等core
15F:→ msun: 买得时候没被炒 是第一批的 付钱等了不知道有没有一年 03/18 14:19
16F:→ msun: 第一批的Nt 不能JB 已被官方放生 03/18 14:19
17F:→ msun: 然後官网还少寄订购的两支NES手把给我 03/18 14:21
18F:→ msun: 写信过去也爱理不理 态度很差 03/18 14:21
啊 原来第一批Nt的不能JB 我一直以为跟Nt mini一样
他们家的服务真的是 唉... 每次开预购在推特上都看到有人抱怨 XD
19F:推 fox527: MiSTer这种一机解决方案才符合民情XD 03/18 16:12
20F:推 napdh: 软体模拟受限先天限制,input delay不可避免,尤其玩洛克人 03/18 19:37
21F:→ napdh: x或是格斗游戏更能感觉到这几frame的差异,FPGA算是个解决 03/18 19:37
22F:→ napdh: 方案又能以现代方式增强画面表现,算是进阶玩家的高级选择 03/18 19:37
23F:→ napdh: ,一直也想有一天组一台,saturn core出的话可能就是我入 03/18 19:37
24F:→ napdh: 场的时机,感谢分享! 03/18 19:37
25F:推 kashin: MiSTer这种等级的模拟只能到16位元 出新款板子SS才有机会 03/18 22:08
SS现在确实还不知道可不可以
srg320有在推特上说他只有DE10-Nano这块板子 他也别无选择 只能塞了XD
他办twitter跟patreon 是因为需要钱去买相关的设备回来研究SS
现在大家也是基於他过去对MiSTer社群贡献那麽多的情况下 给予支援与期待
记得一年前PS1 core刚起步的时候 看讨论也是不太乐观 说很可能塞不下
但後来慢慢开发後 情况愈来愈乐观
现在则是说可以 只是他们先做在另一块板子上 之後再移植回来
26F:推 EDGE: 感谢解说!听某大大提过但MiSTer目前中文资讯太少… 03/18 23:56
我认识的都没人在讲MiSTer 跟他们说 很多人都以为是类似树莓派的东西 XD
Analogue家的东西也没认识的人买 在台湾感觉真的满冷门的
27F:推 segafankwl: 推!没想到难得看到中文讨论MiSTer就是这麽详细的好文 03/19 01:19
感谢! 跟大大比还是差多了 写这篇是抛砖引玉 想看有多少人也在玩 可以一起讨论
但主要目的还是写多一点 看能不能吸引一些不认识MiSTer的人进来一起玩玩看 XD
28F:推 aoirx: 觉得SS这种应该超困难吧... 03/19 11:22
29F:推 MADAOTW: 不知道能不能弄出一台读UMD 的PSP 03/21 13:12
30F:推 zack867: 用心好文 03/21 16:09
31F:推 fantasymaya: 能decap & reverse RTL,那乾脆直接去开chip好了... 03/22 06:19
https://www.tindie.com/stores/furrtek/
https://twitter.com/caiusarcade
你说...像这样吗? 满多都是拿来取代原本坏掉的
32F:推 bobby4755: 推 FPGA在长远来看 是保存主机运作原理的好方式 03/26 00:40
33F:推 cloudkyoo: 之前就有在注意MisTer,只是所有的资讯几乎全是英文 03/27 20:16
34F:→ cloudkyoo: ,要花很多时间来搞懂,发现台湾有您这样的高手分享 03/27 20:16
35F:→ cloudkyoo: 资讯真是太好了! 03/27 20:16
36F:推 rockmanx52: UMD满可惜的 SONY本来还有计画出给PS3用的UMD光碟机 03/31 05:01
※ 编辑: chris38c28 (1.160.115.113 台湾), 05/09/2021 18:16:21
37F:推 sinread: 补个最近看到的 SS 大约完成度是 80% 罗,指日可待 08/14 01:26
38F:→ sinread: Analogue 抢不到就是抢不到,放生 ! 用 MisTer 省心 08/14 01:27
39F:→ sinread: 希望有兴趣的一起交流 ! 08/14 01:28
40F:推 randy061: 谢谢分享 这主意很棒呢 10/23 12:53