mGBA 开发者平台

构建、贡献和扩展最准确的 Game Boy Advance 模拟器。访问开发者工具、API 文档、源代码和贡献指南。

100+
贡献者
50K+
代码行数
10+
支持平台

mGBA 是一个由开发者社区构建的开源项目。无论您对贡献代码、构建自定义工具还是创建平台移植感兴趣,开发者平台都提供了开始所需的所有资源。

开发者工具

用于扩展和自定义 mGBA 的强大工具和 API

📜

Lua 脚本 API

完整的 Lua 5.4 脚本支持使您能够创建自定义工具、训练器、自动化脚本和游戏修改。程序化访问内存、CPU 寄存器、输入和模拟器功能。

  • 完整的 Lua 5.4 支持
  • 内存操作 API
  • 事件回调和钩子
  • 自定义游戏工具
  • 查看 API 文档 →
🐛

调试工具

内置调试功能,用于分析游戏行为、检查内存和测试模拟准确性。非常适合游戏开发和 ROM 测试。

  • 内存检查器
  • 寄存器查看器
  • 断点支持
  • 逐步执行
  • 反汇编器集成
💾

保存状态分析器

带有分析工具的高级保存状态系统。检查、修改和转换不同格式之间的保存状态。导出和导入功能以实现跨平台兼容性。

  • 保存状态检查
  • 格式转换
  • 跨平台兼容性
  • 状态比较工具
  • 自动化测试支持
🎮

ROM 测试器

用于验证游戏兼容性和识别问题的综合 ROM 测试工具。用于回归测试和兼容性验证的自动化测试框架。

  • 自动化 ROM 测试
  • 兼容性报告
  • 回归测试
  • 测试套件集成
  • CI/CD 支持

性能分析器

用于分析模拟性能的内置分析工具。识别瓶颈、优化渲染并衡量准确性与速度的权衡。

  • CPU 分析
  • 内存使用分析
  • 帧时间统计
  • 性能基准测试
  • 优化建议
🔧

配置 API

程序化访问模拟器配置。创建自定义配置工具、程序化管理设置并构建自动化脚本。

开发资源

开始使用 mGBA 进行开发所需的一切

源代码存储库

在 GitHub 上访问完整的 mGBA 源代码。浏览代码库、阅读提交历史并理解架构。

构建说明

了解如何在 Windows、macOS、Linux 和其他平台上从源代码构建 mGBA。每个平台的逐步指南。

API 文档

Lua 脚本、配置和内部 API 的完整 API 参考。示例、教程和最佳实践。

架构概述

了解 mGBA 的内部架构、设计决策和代码组织。贡献者的必读内容。

贡献指南

了解如何为 mGBA 做出贡献。编码标准、pull request 流程和开发工作流。

开发路线图

跟踪即将推出的功能、计划中的改进和开发优先级。查看正在开发的内容。

平台开发

将 mGBA 移植到新平台或优化现有移植

Windows

使用 MSVC 或 MinGW 进行 Windows 开发。Direct3D 和 OpenGL 后端。MSI 安装程序和便携式构建。

  • MSVC 2015+ 或 MinGW
  • 需要 DirectX SDK
  • CMake 构建系统
  • Qt 或 SDL2 前端
🍎

macOS

具有 Metal 渲染的原生 Cocoa 界面。适用于 Intel 和 Apple Silicon 的通用二进制文件。包含 Xcode 项目。

  • 需要 Xcode 10+
  • Metal 图形后端
  • 通用二进制支持
  • Cocoa 前端
🐧

Linux

多种前端选项:Qt、GTK+、SDL2 或命令行。OpenGL 和 Vulkan 支持。提供发行版包。

  • GCC 或 Clang 编译器
  • Qt、GTK+ 或 SDL2
  • OpenGL/Vulkan 支持
  • CMake 构建系统
🤖

Android

使用 Java/Kotlin 前端进行 Android NDK 开发。核心模拟的 JNI 绑定。触摸优化的控件。

  • Android NDK r19+
  • Java/Kotlin 前端
  • OpenGL ES 渲染
  • Gradle 构建系统
📱

iOS

使用 Objective-C/Swift 前端进行原生 iOS 开发。Metal 渲染后端。包含 Xcode 项目。

  • 需要 Xcode 10+
  • Metal 图形后端
  • Objective-C/Swift 前端
  • iOS 12.0+ 目标
⚙️

嵌入式系统

通过自制软件将 mGBA 移植到嵌入式系统,如 Nintendo 3DS、Wii U、PlayStation Vita 和其他平台。

  • 自定义构建配置
  • 平台特定优化
  • Homebrew SDK 支持
  • 有限资源处理

有兴趣创建新的移植吗?查看 移植指南 或与社区 讨论您的想法

开发者社区

与其他开发者联系、获得帮助并为 mGBA 做出贡献

🐙

GitHub

主要开发平台。报告错误、提交 pull request 并跟踪问题。

访问 GitHub →
💬

讨论

GitHub Discussions 用于有关 mGBA 开发的问题、想法和一般讨论。

加入讨论 →
📋

问题跟踪

在 GitHub Issues 上报告错误、请求功能并跟踪开发进度。

查看问题 →
🔍

代码审查

所有代码贡献都经过同行审查。从代码审查中学习并为审查做出贡献。

查看 Pull Request →
📝

版本说明

跟踪每个版本中的更改、改进和新功能。查看版本历史和更改日志。

查看版本 →
📊

贡献者统计

查看谁在贡献、跟踪随时间的贡献并认可社区成员。

查看贡献者 →

代码示例

快速示例帮助您开始 mGBA 开发

Lua 脚本示例

简单的 Lua 脚本显示玩家坐标:

-- 显示玩家 X 和 Y 坐标
local core = require("core")

core.addFrameCallback(function()
    local x = core.cpuRead32(0x02000000)
    local y = core.cpuRead32(0x02000004)
    
    print(string.format("玩家位置: X=%d, Y=%d", x, y))
end)
了解更多 →

从源代码构建

构建 mGBA 的快速入门命令:

# 克隆存储库
git clone https://github.com/mgba-emu/mgba.git
cd mgba

# 使用 CMake 配置
cmake -S . -B build

# 构建
cmake --build build

# 安装(可选)
cmake --install build
查看完整指南 →

开发要求

构建 mGBA 的系统要求和依赖项

构建系统

  • CMake 3.1 或更高版本
  • 平台特定的构建工具
  • 用于版本控制的 Git
  • Python 3.6+(用于脚本)

编译器

  • GCC 4.9+ 或 Clang 3.5+
  • MSVC 2015+ (Windows)
  • Xcode 10+ (macOS/iOS)
  • Android NDK r19+ (Android)

依赖项

  • SDL2、Qt5/6 或 GTK+3(前端)
  • OpenGL 3.3+ 或 Vulkan 1.0+
  • zlib(压缩)
  • libpng(截图)
  • Lua 5.4(脚本)

平台特定

  • DirectX SDK (Windows)
  • Xcode Command Line Tools (macOS)
  • 开发库 (Linux)
  • Android SDK/NDK (Android)

开发工具

  • 调试器(GDB、LLDB、Visual Studio)
  • 版本控制(Git)
  • 代码编辑器或 IDE
  • 内存分析器(可选)

测试

  • 用于兼容性的测试 ROM
  • 自动化测试套件
  • 性能基准测试
  • 平台特定的测试工具

开发者 FAQ

有关使用 mGBA 进行开发的常见问题

从源代码构建 mGBA 取决于您的平台。在 Windows 上,安装 CMake 和 MSVC 或 MinGW。在 macOS 上,安装 Xcode 并使用 CMake。在 Linux 上,安装 build-essential 和开发库。请参阅 构建指南 以获取详细的平台特定说明。

欢迎贡献!首先阅读 贡献指南。您可以贡献代码、文档、错误报告或功能请求。Fork 存储库,进行更改,然后提交 pull request。所有贡献都经过代码审查。

Lua 脚本 API 提供完整的 Lua 5.4 支持,用于创建自定义工具、训练器、自动化脚本和游戏修改。您可以程序化访问内存、CPU 寄存器、输入和模拟器功能。请参阅 Lua 脚本 API 文档 以获取完整的参考和示例。

要构建 mGBA,您需要 C/C++ 编译器(GCC 4.9+、Clang 3.5+ 或 MSVC 2015+)、CMake 3.1+、Git 和平台特定的依赖项。Windows 需要 DirectX SDK,macOS 需要 Xcode Command Line Tools,Linux 需要 SDL2、Qt 或 GTK+ 的开发库,具体取决于您的构建配置。

是的!mGBA 的代码库设计为可移植的。核心模拟代码与平台无关,平台特定的代码隔离在单独的模块中。请参阅开发者文档中的 移植指南,了解创建新平台移植的说明。您也可以在 GitHub Discussions 中讨论您的移植计划。

mGBA 包括内置调试工具,包括内存检查器、寄存器查看器和断点支持。您可以使用外部调试器,如 GDB、LLDB 或 Visual Studio Debugger。模拟器还支持用于调试的 Lua 脚本。请参阅 故障排除指南 以获取更多信息。

mGBA 在 Mozilla Public License 2.0 (MPL 2.0) 下发布。这是一个 copyleft 许可证,允许您使用、修改和分发 mGBA,但要求您分享 mGBA 特定更改的源代码。请参阅 LICENSE 文件 以获取完整详细信息。

使用 GitHub Issues 页面报告错误或请求功能。对于错误,请包括详细的复现步骤、系统信息和日志(如果可用)。对于功能请求,请说明用例和预期行为。首先检查现有问题以避免重复。

下载 mGBA

获取最新版本的 mGBA - 最准确的 Game Boy Advance 模拟器

⬇️

mGBA 最新版本

版本 0.10.0
发布日期: 2025 年 1 月 17 日
文件大小: ~15 MB
许可证: MPL 2.0(免费和开源)
平台: Windows、macOS、Linux、Android、iOS
下载 mGBA

选择自动检测的平台或手动选择

99.8% 游戏兼容性
100% 周期精确模拟
跨平台支持
免费和开源

系统要求

  • Windows: Windows 7+(推荐 64 位),2GB RAM,DirectX 11 GPU
  • macOS: macOS 10.13+,Intel 或 Apple Silicon,2GB RAM
  • Linux: 64 位发行版,OpenGL 3.3+,2GB RAM
  • Android: Android 5.0+,2GB RAM,OpenGL ES 2.0+
  • iOS: iOS 12.0+,2GB RAM

包含内容

  • 完整的 Game Boy Advance 模拟器
  • Game Boy 和 Game Boy Color 支持
  • 保存状态系统(10 个插槽)
  • 作弊码支持(GameShark、Action Replay)
  • Lua 脚本接口
  • 多人游戏的联机线模拟
  • 实时时钟支持
  • 截图和视频录制

准备开始开发了吗?

加入 mGBA 开发社区,帮助构建最准确的 Game Boy Advance 模拟器