GCSC 发表于 2026-4-19 10:59:21

STC32G144K246上运行NES模拟器 ,9帧/秒刷新,放上源码,期待大神优化完善


STC32G144K246上运行NES模拟器 ,9帧/秒刷新,放上源码,期待大神优化完善
1:系统主频144MHZ,SPI 时钟=78MHZ,SPI DMA传输
2:LCD为320*240的ST7789 ,spi接口
3:nes模拟器源码来自于网友:xiaowei061的NES模拟器,只实现了显示部分,
   按键控制还没调通,音频也没加
4:目前只测试了mapper简单的超级马利,读取rom正常,显示正常,帧率9帧/秒。
5:不懂汇编,没做进一步优化,或者将模拟器部分放置在sram运行,
   是否能进一步加速?

GCSC 发表于 2026-4-19 11:03:10

源码文件目录结构

深山老妖 发表于 2026-4-22 01:56:59

才9帧,有点慢吧,至少30帧以上才有搞头。

猫虎的 发表于 2026-4-22 08:10:55

感觉已经很轻大了,不过应该可以更流畅,只是这样的话就需要深度融合NES模拟器的软件和STC的硬件了

GCSC 发表于 2026-4-22 12:02:57

这里有基于ARM M3汇编实现的NES 6502核心,据说在32F103ZE上跑出 30pfs以上的刷屏效果,带按键声音

rayrakey 发表于 2026-4-25 21:43:57

屏幕换成并口屏,是不是帧率会更高一些,不知道加入DMA没有,如果没有加的话,在程序中加上帧率应该会更高。

GCSC 发表于 2026-4-29 09:59:45

采用SPI DMA+双缓冲;经测试 模拟器解算游戏帧耗费时间是瓶颈所在,当计算进行到一半时,数据传输已经完成。

lzzasd 发表于 2026-5-2 02:18:30

期待大神多弄写这些大项目
页: [1]
查看完整版本: STC32G144K246上运行NES模拟器 ,9帧/秒刷新,放上源码,期待大神优化完善