单片机手搓掌上游戏机(二十三)—esp32运行简单街机模拟器软硬件准备

首先说明这个模拟器仅可以模拟6个早期街机游戏,吃豆人、大金刚、1942之类的,后期的,在那混合着烟味和发霉的味道里的游戏厅,让充满着对知识渴望,兜比脸还干净的少年流连忘返,回家挨了无数次传统武术修理终不悔的那些经典游戏,一个都没有。

这个开源项目叫galagino:

https://github.com/harbaum/galagino

点击download 解压缩。

编译环境是Arduino,最新版的就行。

需要一块esp32 devkit的开发板,如果使用S3需要对程序进行修改,因为S3只有I2S但取消了DAC的功能,声音需要外接模块解码放大。

安装esp32开发板支持,方法搜索一下,多得是。

国内的话,用这个地址非常快,也是官方推荐的:

https://jihulab.com/esp-mirror/espressif/arduino-esp32/-/raw/gh-pages/package_esp32_index_cn.json

特别注意的是,++开发板arduino库版本必须是2.0.9++,我用2.0.9-cn这个版本是可以的,至于3.3.4什么的,一大堆红色错误,好不容易改完了,还跑不起来。

st7789或者是ili9341,默认ili9341,可以修改,

320x240的分辨率;

按键开关8个;

8欧姆喇叭一个。

硬件连接按文件夹里的config.h

如果使用st7789,把ili9341那行注释就行了。

安装fastled库,作者搞了ws2812的彩灯,我也懒得去掉了。

下面就是rom的下载和转换了。

相关推荐
saltymilk11 小时前
使用 C++ 模拟 ShaderLanguage 的 swizzle
c++·模板元编程
xlp666hub17 小时前
Leetcode第五题:用C++解决盛最多水的容器问题
linux·c++·leetcode
得物技术19 小时前
搜索 C++ 引擎回归能力建设:从自测到工程化准出|得物技术
c++·后端·测试
xlp666hub2 天前
Leetcode 第三题:用C++解决最长连续序列
c++·leetcode
会员源码网2 天前
构造函数抛出异常:C++对象部分初始化的陷阱与应对策略
c++
xlp666hub2 天前
Leetcode第二题:用 C++ 解决字母异位词分组
c++·leetcode
不想写代码的星星2 天前
static 关键字:从 C 到 C++,一篇文章彻底搞懂它的“七十二变”
c++
xlp666hub2 天前
Leetcode第一题:用C++解决两数之和问题
c++·leetcode
不想写代码的星星3 天前
C++继承、组合、聚合:选错了是屎山,选对了是神器
c++
不想写代码的星星4 天前
std::function 详解:用法、原理与现代 C++ 最佳实践
c++