同步操作将从 冬瓜/SimpleNes 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
SimpleNes是Nes(Famicom)俗称红白机的虚拟机项目。 项目目前处于开发初期,代码比较凌乱。 本项目是学习C++的项目,之前没有C++也没有相关游戏开发和音视频的基础。 因此有很多不完善的地方有待后续解决。
抽时间会具体整理教程
SimpleNes
是VS2019下的窗口类
SimpleNesCore
是SimpleNes的核心文件,在VS2019项目中是以静态库的方式存在。
SimpleNes_Qtdemo
是Qt下使用SimpleNes的例程
目前使用的是低精度的同步方式,但是足够应对常见的游戏 实现了Mapper 0-5等少数几个Mapper,后续会逐渐扩充
最终目标是实现跨平台的应用,尤其是移植到嵌入式平台
时间统治者 不显示人物、底部记分牌问题(已修复)
游戏加载时存在噪音
修改 编译完成后直接通过菜单栏【文件】->【打开ROM】选择游戏文件(.nes后缀,百度可以搜到很多,例如 超级马里奥.nes)。
NesMain.cpp
来修改测试的游戏W
,S
,A
,D
,J
,K
,U
,I
分别是上下左右 选择 确认 和 A B
为了方便大家测试我分享几个常见的游戏rom,里面的不一定都能运行~ 链接:https://pan.baidu.com/s/1ZrlJUlbGcOs4CDalehkXnw 提取码:3qg1
测试存档功能:(目前仅支持Mapper00 抽时间完善)
按键1存档 按键2恢复。注意只能在游戏进行中的时候操作,而且目前不能本地存档,是存在内存中。毕竟只是测试的。功能测试一段时间没问题后再增加本地存档
按1存档,按2恢复。存档会在rom所在的路径下创建一个同名但增加一个.save后缀的文件保存状态。目前仅仅是依靠文件名对不同的游戏分别存档,也只支持恢复最后一次存档。不过可以轻松 的扩展。参见SimpleNes/FamicomThread.cpp
内的FileSavebundle
类。
请使用VS2019编译 完全不修改或者简单修改后可以移植到Android和Qt。 因为代码处于开发阶段,接口可能发生改变而android和qtdemo可能不能及时更新,所以如果出现编译不通过可以参考SimpleNes文件夹内的vs2019项目。
鉴于时间仓促又是学习性质,我对本项目的评价是:像一栋摇摇欲坠的老房子,内部杂乱无章且不明所以,但是至少,它运行了。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。