Galagino - ESP32街机模拟器 galagino

ESP32 1/5 已发布
harbaum 527 Stars 未知 BOM 完整度: 0/5 教程完整度: 0/5
Galagino - ESP32街机模拟器

项目简介

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 模型

模型名称文件名文件
coinbutton coinbutton.stl
galagino_controlboard-actuator galagino_controlboard-actuator.stl
galagino_controlboard-base galagino_controlboard-base.stl
galagino_controlboard-knob galagino_controlboard-knob.stl
galagino_controlboard-limiter galagino_controlboard-limiter.stl
marquee marquee.stl
btn_raiser btn_raiser.stl
controlboard_actuator controlboard_actuator.stl
controlboard_base controlboard_base.stl
controlboard_knob controlboard_knob.stl

能力画像

**记忆与知识检索**: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 处理器架构的实践平台