单片机手搓掌上游戏机(二十三)—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的下载和转换了。

相关推荐
会员果汁3 小时前
函数调用和变长参数
c语言
xailorliu3 小时前
SLIC_超像素算法
c++·opencv·目标检测·机器学习·计算机视觉
苏打豆4 小时前
CRISP源码阅读——基于ROS2力矩反馈控制器与速度加速度零空间
c++·线性代数·算法·矩阵·机器人
Horn Still Sounds4 小时前
IMX6ULL裸机|I2C通信协议 + ADC模数转换学习笔记
arm开发·笔记·单片机·嵌入式硬件
小小龙学IT5 小时前
snap7 开源西门子 S7 通信协议库深度解析
c++·开源
小溪学编程5 小时前
从 C++ 的规范变迁看语言发展
jvm·c++·面试
白山编程大哥5 小时前
Lua 中使用 C 语言的用户自定义类型——userdata
c语言·junit·lua
无敌贵点大王6 小时前
RTThread学习记录13——关于要使用一个外设,RTThread与cubemx到底要怎么配合?
c语言·stm32·学习·rtthread
phltxy6 小时前
C 语言动态内存管理:从申请空间到安全释放
c语言·开发语言·ui
ShineWinsu6 小时前
对于Redis:string类型的解析
java·c++·redis·分布式·缓存·面试·string