用于扩展和自定义 mGBA 的强大工具和 API
完整的 Lua 5.4 脚本支持使您能够创建自定义工具、训练器、自动化脚本和游戏修改。程序化访问内存、CPU 寄存器、输入和模拟器功能。
内置调试功能,用于分析游戏行为、检查内存和测试模拟准确性。非常适合游戏开发和 ROM 测试。
带有分析工具的高级保存状态系统。检查、修改和转换不同格式之间的保存状态。导出和导入功能以实现跨平台兼容性。
用于验证游戏兼容性和识别问题的综合 ROM 测试工具。用于回归测试和兼容性验证的自动化测试框架。
用于分析模拟性能的内置分析工具。识别瓶颈、优化渲染并衡量准确性与速度的权衡。
开始使用 mGBA 进行开发所需的一切
将 mGBA 移植到新平台或优化现有移植
使用 MSVC 或 MinGW 进行 Windows 开发。Direct3D 和 OpenGL 后端。MSI 安装程序和便携式构建。
具有 Metal 渲染的原生 Cocoa 界面。适用于 Intel 和 Apple Silicon 的通用二进制文件。包含 Xcode 项目。
多种前端选项:Qt、GTK+、SDL2 或命令行。OpenGL 和 Vulkan 支持。提供发行版包。
使用 Java/Kotlin 前端进行 Android NDK 开发。核心模拟的 JNI 绑定。触摸优化的控件。
使用 Objective-C/Swift 前端进行原生 iOS 开发。Metal 渲染后端。包含 Xcode 项目。
通过自制软件将 mGBA 移植到嵌入式系统,如 Nintendo 3DS、Wii U、PlayStation Vita 和其他平台。
与其他开发者联系、获得帮助并为 mGBA 做出贡献
快速示例帮助您开始 mGBA 开发
简单的 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 的系统要求和依赖项
有关使用 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 - 最准确的 Game Boy Advance 模拟器
加入 mGBA 开发社区,帮助构建最准确的 Game Boy Advance 模拟器