Galagino - ESP32街机模拟器
galagino
ESP32
1/5
已发布
项目简介
ESP32的Galaga、Pac-Man和Donkey Kong街机模拟器。
Galagino 是一个基于 ESP32 微控制器的开源街机模拟器项目,旨在让玩家在极低成本和小巧硬件上重温 80 年代经典街机游戏。它目前支持 Galaga、Pac-Man、Donkey Kong、Frogger、Digdug 和 1942 这六款标志性作品,其中前三款在街机游戏史上排名极高。
标签
项目特点
在 ESP32 上完整模拟三款经典街机游戏(Galaga、Pac-Man、Donkey Kong)
支持 VGA 输出(通过电阻网络 DAC)和 OLED 屏幕显示
兼容 USB 键盘、游戏手柄以及蓝牙手柄
支持音频输出(通过 PWM 或 I2S DAC)
代码基于 Arduino 框架,易于编译和修改
开源且持续维护,社区活跃
技术规格
| 目标硬件 | ESP32(如 ESP32-DevKitC、ESP32-WROOM-32) |
|---|---|
| 模拟游戏 | Galaga、Pac-Man、Donkey Kong |
| 模拟核心 | Z80(Galaga/Pac-Man)、8048(Donkey Kong) |
| 视频输出 | VGA(15kHz,通过电阻 DAC)或 OLED(128x64) |
| 音频输出 | PWM 或 I2S DAC(如 MAX98357) |
| 输入方式 | USB 键盘/手柄(通过 USB Host 库)、蓝牙手柄 |
| 开发框架 | Arduino IDE / PlatformIO |
| 刷新率 | 60 FPS(VGA) |
| 分辨率 | 256x224(Galaga/Pac-Man)、256x240(Donkey Kong) |
项目资源
搜索资源
物料清单 (BOM)
| 物料名称 | 数量 | 参考价格 | 备注 |
|---|---|---|---|
| ESP32 开发板(如 ESP32-DevKitC) | 1 | — | 推荐 4MB Flash 以上 |
| VGA 显示器或 CRT 电视 | 1 | — | 支持 15kHz 行频 |
| OLED 屏幕(128x64,SSD1306) | 1 | — | 可选,替代 VGA |
| 电阻网络(R-2R DAC) | 1套 | — | 用于 VGA 输出,约 8 个电阻 |
| 扬声器或耳机 | 1 | — | 通过 PWM 或 I2S 输出 |
| I2S DAC 模块(如 MAX98357) | 1 | — | 可选,提升音质 |
| USB 键盘或游戏手柄 | 1 | — | 需 USB Host 模块 |
| 蓝牙手柄 | 1 | — | 可选,如 PS3/PS4 手柄 |
| 5V 电源适配器(Micro USB) | 1 | — | 为 ESP32 供电 |
| 杜邦线 / 面包板 | 若干 | — | 用于搭建电路 |
3D 模型
能力画像
**记忆与知识检索**:3/5 — 需要查阅街机硬件文档和 ESP32 数据手册,但核心代码已封装好
**动手与操作**:4/5 — 需要焊接电阻网络、连接 VGA 接口和 USB 模块,有一定硬件搭建要求
**编程与算法**:3/5 — 主要工作是配置和编译,但理解模拟器核心(Z80 模拟、中断处理)需要编程基础
**设计与建模**:1/5 — 无需设计新硬件或 PCB,项目已提供参考电路
**实验与调试**:4/5 — 需要调试视频同步信号、音频噪声和输入延迟,常需示波器辅助
**协作与分享**:2/5 — 项目为个人维护,社区贡献以 issue 和 PR 为主
**学习与研究**:4/5 — 深入理解街机硬件架构、模拟器原理和 ESP32 外设驱动
**系统集成**:3/5 — 需要将 ESP32、屏幕、音频、输入设备整合为一个完整游戏机
项目图库
所需技能
基础电子知识(电阻网络、信号电平)
焊接和面包板搭建能力
C/C++ 编程基础(Arduino 框架)
熟悉 ESP32 开发环境(Arduino IDE 或 PlatformIO)
了解 VGA 视频信号时序(15kHz)
能够使用示波器或逻辑分析仪进行调试
阅读英文技术文档的能力
适用场景
在 ESP32 上体验经典街机游戏的怀旧项目
学习模拟器开发原理的入门案例
自制迷你街机或桌面游戏机的核心方案
电子工程或嵌入式系统课程的教学演示
创客空间或开源硬件展览的互动展品
研究 Z80 和 8048 处理器架构的实践平台