» 您尚未登录:请 登录 | 注册 | 标签 | 帮助 | 小黑屋 |


发新话题
打印

[模拟相关] MiSTer FPGA 怎么证明自己是正确模拟

软件模拟很多也是比较低阶的LLE,用CPU去仿真原本硬件中各个部分的工作状态,忠实解释指令,设置寄存器状态和读写内存的行为。偶尔可能会跳跃和近似一下。其实到比较后期的机种模拟器才开始比较多用HLE。
FPGA模拟器验证正确性理论上就是和实机数字输出进行比对。时钟和每一帧的信号输出完全吻合就说明是1:1硬件模拟。但这种验证其实挺难实现的,也许开发过程中会做类似验证。至少现在实践上很多游戏的模拟玩家体感已经足够精确,一些软件模拟器的瑕疵也得到了解决。

[ 本帖最后由 Lunamos 于 2022-11-15 15:17 编辑 ]


TOP

引用:
原帖由 BigBangBang 于 2022-11-17 18:34 发表

商业模式无非就是囤积居奇那一套,但其实只要是好东西,合理溢价都能接受。但最大的问题是,这个东西不容置疑。
https://www.bilibili.com/video/BV1zR4y1w7dy/
https://www.youtube.com/watch?v=QmNovlUUepI
上 ...
这视频主要就是演示RA用run ahead可以消除原本游戏内处理IO的延迟,理论上能做到比实际硬件快。如果想了解原理,打开马里奥,往上调run-ahead的帧数然后按跳,立即就明白了。

不过这种比实机强的模拟器功能还有很多,比如即时存档,高清贴图之类。选择玩实机也就自然放弃软件模拟带来的种种好处。



TOP

引用:
原帖由 genesisx 于 2022-11-21 00:16 发表
posted by wap, platform: Android
即时存档好像只要有储存条件和附加芯片就可以实现?比如当年的博士磁碟机比如现在的烧录卡,以及PSP2000以后的cheatmaster插件?
倒是画面增强这真的得硬件提升才能实现(比如以前 ...
即时存档FPGA的实机就能用,FPGAzumSpass写的GBA核心和PS核心都支持即时存档,应该也是用额外的逻辑门实现了记录实机全部寄存器状态的模块。
画面增强也有在卡带里增加一些协处理机制的方式,但至少分辨率之类底层部分应该很难改了。
当然再怎么增强也没法跟软件模拟器的进步相比。毕竟PC机能在进步,实机只能原地踏步。
FPGA虽然原则上不希望修改原版硬件实现。不过现在也有一些可选的增强,比如刚才提到的即时存档,还有宽屏补丁之类。


TOP

MiSTer项目里除了DE10开发板以外,其它都不必要,有需求再考虑。开发板外的配件基本也是开源硬件,电子爱好者也可以自己做。当然自己做也得花钱弄PCB,总不能说这是PCB厂的阴谋。

MiSTer作为现在Retro圈最火热的项目,势头甚至盖过了Libretro。开源硬件、软件项目遍地开花,同时社区又很健康(相比RetroArch),还是挺难得的。FPGAzumSpass和srg320这些核心Verilog开发者每个月也就两三千美元的Patreon收入,相对他们的技术水平能拿的薪水来说也就是补贴点家用的水平。可能有些国内的配件厂多少为了卖货在做一些宣发,但要说是因为这个才有人买就本末倒置了。好比iPhone有做保护壳配件的厂,总不能说iPhone卖得好是因为做保护壳的厂在宣发,或者说凡是说iPhone好的都是收了手机保护壳厂商的钱。
本帖最近评分记录
  • chain416 激骚 +1 我很赞同 2022-12-5 08:46
  • 就是来学习 激骚 +1 我很赞同 2022-12-5 08:42
  • han527 激骚 +1 我很赞同 2022-12-4 21:33

TOP

引用:
原帖由 zy_zlj 于 2022-12-5 09:26 发表


大佬你认真就输了,跟他讲这些压根就不懂,在他的认知里,所有一切都是为了钱,mister的开发者是为了卖de10,libretro的开发者是为了卖十年前的淘汰PC,batocera的开发者是为了卖硬盘,rgbpi的开发者是为了卖sca ...
对奸商和智商税产品有点警惕感也挺好,就是精力用错了地方,逮着个良民一通拷打的感觉。另外可能也是消费者和爱好者不同角色心态有区别。

TOP

引用:
原帖由 BigBangBang 于 2022-12-5 12:08 发表
posted by wap, platform: iPhone
良民喷了,本帖起初探讨的是MiSTer FPGA硬件模拟的正确性问题,是你们这伙人先说不差钱带歪主题的。
显然前面和后面的主题已经发生了变化。很多人已经就前者给出了解释。而楼主后面希望讨论的话题也产生了变化,不是吗…

回到精确性上的话,楼主的疑问当然是有道理的。不过要准确解释就只能回到前面说的去看源代码。我个人觉得SystemVerilog写的部分会有一些类似编写软件模拟器的手法,不但需要解释和执行指令集逻辑的顶层向下,同时也需要通过不同用例去向上反推的逆向工程。没人会给出PS或SS中处理器的RTL级电路,软件里也有许多黑箱,许多游戏也没有用到全部机能和指令集,全体的完美实现需要摸索挺长时间。

以前在学校做过一个项目,用Verilog写NES 6502和PPU单元,在不实现Mapper的情况下可以调用容量最小的NES游戏并成功运行(不过会很快死机,我后面也没继续)。然而遇到开始使用Mapper的游戏,因为MMC完全没有实现,更不用说支持不同的Mapper规则,显然加载失败或者严重BUG。而像srg320之类开发者遇到的则是更复杂的问题,不完美的推导结果也能运行一些游戏,但遇到某个游戏在某个场景就会出错。这时就需要修改之前的实现以兼容之。另一个显然的部分就是声音模块,这部分也是即便不实现也可以加载游戏的。此外FPGA逻辑门资源有限制,即便在理解完美实现下,可能也需要稍加修改。最终实现的验证就是和实机进行对比了。

[ 本帖最后由 Lunamos 于 2022-12-5 13:47 编辑 ]

TOP

引用:
原帖由 BigBangBang 于 2022-12-5 19:27 发表
posted by wap, platform: iPhone
说来说去,FPGA电子游戏系统,尤其街机系统,很难做到100%精确。最典型的,很多街机的音频系统其实是独立于主板,建立在音频板上的,而音频板是专用框体的一部分,只拿一块主板做逆 ...
MiSTer的目标是能复刻和替换计算设备本身,在街机上也就是街机基板。外部的框体还有其可能包含的soundboard、采样功放换能器等等自然不在其模拟之列。它能做到的事情超不出街机基板能做到的事情。这类设备的音频在板子上也可以做自己的类似实现,但如果没有相应外设就达不到原版框体一模一样的效果。

[ 本帖最后由 Lunamos 于 2022-12-5 20:01 编辑 ]

TOP

发新话题
     
官方公众号及微博