外壳可以使用灰太狼大佬提供的外壳 STL 文件。外壳从以下的帖子中获取:模型分享
硬件上使用到了 AiPi-Eye-S1 开发板以及 3.5 寸 240*320 像素的电容触摸屏,使用时可以使用 USB Type-C 线通过开发板上的 Type-C 接口为设备进行供电。也可以使用锂电池给板子供电,实测壳体的液晶屏和 PCB 之间的间距足够放下一个 3.7v 的锂电池。程序下载使用 USB 转 TTL 工具。
额外需要说明的是显示是使用的横向的坐标系,但是触摸驱动使用的是纵向的坐标系。他们的坐标原点是不一样的,需要进行坐标的变换。
程序设计思路
系统初始化 基于 FreeRTOS 创建两个任务 (1) button_task 任务负责对触摸屏进行实时的读取; (2) main_task 中对输入的 game rom 进行读取,然后解析并模拟 6502 的执行。整个 game 的核心就在这个任务中。在完成每一行的解码后,在这个 task 中会及时的去渲染屏幕中的对应行。
以下操作需要再环境配置完成后进行。
如无错误,最终会显示以下内容
烧录正常输出:
理论上这个项目的模拟器是支持所有不带多合一的 rom 的。而且由于模组的 rom 空间比较大,其实可以放下很多的 game 数据。当前预放了三个 gamerom, 需要运行哪一个就去掉哪一个的注释,然后编译烧录。rom 替换的具体方法可以参考:【轻松上手】小安派 nes game rom 替换
总结一下,小安派的性能是非常强大的。玩法也是随心所欲,欢迎一起加油,把小安派用到自己想要的地方。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。