# SimpleNes **Repository Path**: wyscjm/SimpleNes ## Basic Information - **Project Name**: SimpleNes - **Description**: Nes(Famicom)俗称红白机的模拟器项目。支持VS2019 和 QT 环境。十分不错的学习项目。爷青回!!! - **Primary Language**: C++ - **License**: GPL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 49 - **Created**: 2021-08-22 - **Last Updated**: 2021-08-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SimpleNes #### 介绍 SimpleNes是Nes(Famicom)俗称红白机的虚拟机项目。 项目目前处于开发初期,代码比较凌乱。 本项目是学习C++的项目,之前没有C++也没有相关游戏开发和音视频的基础。 因此有很多不完善的地方有待后续解决。 抽时间会具体整理教程 :joy: `SimpleNes` 是VS2019下的窗口类 `SimpleNesCore` 是SimpleNes的核心文件,在VS2019项目中是以静态库的方式存在。 `SimpleNes_Qtdemo` 是Qt下使用SimpleNes的例程 #### 完成度 目前使用的是低精度的同步方式,但是足够应对常见的游戏 实现了Mapper 0-5等少数几个Mapper,后续会逐渐扩充 #### 移植进度 - 目前已经成功使用QT编译通过,示例demo已经上传 - 目前已经成功移植到Android,demo晚些时候上传 - 目前已经成功移植到嵌入式开发板(通过QT) #### 最终目标 最终目标是实现跨平台的应用,尤其是移植到嵌入式平台 #### 已测试的游戏 - 超级马里奥 - 超级马里奥3 - 终结者 - 机械战警3 - 赤色要塞 - 坦克大战 - 神龟比武 - 忍者神龟 - 重装机兵 - 蝙蝠侠 - 侏罗纪公园 - 中东战争 - 松鼠大作战 - 1942 - 塞尔达传说 - 双截龙1、2 - 魂斗罗 - 等... ![软件截图](https://images.gitee.com/uploads/images/2021/0811/094217_93e57737_1930444.png "4GL@1I(O%$7VRF2R(LEG)5S.png") ![android截图](https://images.gitee.com/uploads/images/2021/0821/100447_3623a02d_1930444.jpeg "1629511441790.jpg") ![游戏截图](https://images.gitee.com/uploads/images/2021/0810/151340_5920b751_1930444.png "23H12($QPWOC$`[HGEBLHLY.png") #### 已知有问题游戏 - 时间统治者 不显示人物、底部记分牌问题 #### 使用方法 ~~修改`NesMain.cpp`来修改测试的游戏~~ 编译完成后直接通过菜单栏【文件】->【打开ROM】选择游戏文件(.nes后缀,百度可以搜到很多,例如 超级马里奥.nes)。 `W`,`S`,`A`,`D`,`J`,`K`,`U`,`I`分别是上下左右 选择 确认 和 A B 测试存档功能:(目前仅支持Mapper00 抽时间完善) 按键1存档 按键2恢复。注意只能在游戏进行中的时候操作,而且目前不能本地存档,是存在内存中。毕竟只是测试的。功能测试一段时间没问题后再增加本地存档 #### 软件架构 请使用VS2019编译 目前也支持Qt但是不会重点维护 #### 自我评价 鉴于时间仓促又是学习性质,我对本项目的评价是:像一栋摇摇欲坠的老房子,内部杂乱无章且不明所以,但是至少,它运行了。 :v: