mGBA 是一个运行 Game Boy Advance 游戏的模拟器。mGBA 的目标是比众多现有的 Game Boy Advance 模拟器更快、更准确,并增加其他模拟器所缺少的功能。mGBA 还支持 Game Boy 和 Game Boy Color 游戏。
可在以下网址找到最新新闻和下载:mgba.io。
完美支持以下 mapper:
部分支持以下 mapper:
已知其他类 Unix 平台(如 OpenBSD)也可以使用,但未经测试且不完全受支持。
系统需求很低。任何可以运行 Windows Vista 或更高版本的计算机都应该能够处理模拟机制,还需要支持 OpenGL 1.1 或更高版本。而对于着色器和高级功能,则需要支持 OpenGL 3.2 或更高版本。
可在官方网站的下载(Downloads)区域找到下载地址。可在 GitHub 找到源代码。
可在设置菜单中进行控制键位的配置。许多游戏控制器应该会在默认情况下自动映射。键盘的默认控制键位如下:
编译需要使用 CMake 3.1 或更新版本。已知 GCC 和 Clang 都可以编译 mGBA,而 Visual Studio 2013 和更旧的版本则无法编译。我们即将实现对 Visual Studio 2015 或更新版本的支持。
对于大多数平台来说,建议使用 Docker 进行构建。我们提供了多个 Docker 映像,其中包含在多个平台上构建 mGBA 所需的工具链和依赖项。
要使用 Docker 映像构建 mGBA,只需在 mGBA 的签出(checkout)根目录中运行以下命令:
docker run --rm -t -v $PWD:/home/mgba/src mgba/windows:w32
此命令将生成 build-win32
目录。将 mgba/windows:w32
替换为其他平台上的 Docker 映像,会生成相应的其他目录。Docker Hub 上提供了以下 Docker 映像:
要在基于 Unix 的系统上使用 CMake 进行构建,推荐执行以下命令:
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr ..
make
sudo make install
这些命令将构建 mGBA 并将其安装到 /usr/bin
和 /usr/lib
中。系统会自动检测已安装的依赖项,如果未找到依赖项,则会在提示找不到依赖项的情况下运行 cmake
命令,并显示已被禁用的功能。
如果您使用的是 MacOS,则步骤略有不同。假设您使用的是自制软件包管理器,建议使用以下命令来获取依赖项并进行构建:
brew install cmake ffmpeg libzip qt5 sdl2 libedit pkg-config
mkdir build
cd build
cmake -DCMAKE_PREFIX_PATH=`brew --prefix qt5` ..
make
请注意,您不能在 MacOS 上执行 make install
,因为此命令不能正常工作。
如果要在 Windows 上进行构建,建议使用 MSYS2。请按照 MSYS2 网站上的安装步骤操作。请确保您运行的是 32 位版本的 MSYS2(“MSYS2 MinGW 32-bit”)。如果想要构建 x86_64 版本,则运行 64 位版本的 MSYS2(“MSYS2 MinGW 64-bit”) ,并执行以下额外命令(包括花括号)来安装所需的依赖项(请注意,此命令涉及下载超过 1100MiB 的包,因此会需要很长一段时间):
pacman -Sy --needed base-devel git ${MINGW_PACKAGE_PREFIX}-{cmake,ffmpeg,gcc,gdb,libelf,libepoxy,libzip,pkgconf,qt5,SDL2,ntldd-git}
运行以下命令检查源代码:
git clone https://github.com/mgba-emu/mgba.git
最后运行以下命令进行构建:
mkdir -p mgba/build
cd mgba/build
cmake .. -G "MSYS Makefiles"
make -j$(nproc --ignore=1)
请注意,此版本的 mGBA for Windows 不适合分发,因为运行此版本所需的 DLL 非常分散,但非常适合开发。但是,如果需要分发此类版本(例如用于在未安装 MSYS2 环境的计算机上进行测试),请运行 cpack-G ZIP
,准备一个包含所有必要 DLL 的压缩文件。
使用 Visual Studio 进行构建需要同样复杂的设置。首先需要安装 vcpkg。安装 vcpkg 后,还需要安装数个额外的软件包:
vcpkg install ffmpeg[vpx,x264] libepoxy libpng libzip sdl2 sqlite3
请注意,此安装将不支持 Nvidia 硬件上的硬件加速视频编码。如果对此非常在意,则需要预先安装 CUDA,然后用 ffmpeg[vpx,x264,nvcodec]
替换前面命令中的 ffmpeg[vpx,x264]
。
您还需要安装 Qt。但不幸的是,由于 Qt 已被一家境况不佳的公司而不是合理的组织所拥有并运营,所以不再存在针对最新版本的离线开源版本安装程序,需要退回到旧版本的安装程序 (会要求创建一个原本已无用的帐号,但可以通过临时设置无效代理或以其他方式禁用网络来绕过这一机制。)、使用在线安装程序(无论如何都需要一个帐号),或使用 vcpkg 进行构建(速度很慢)。这些都不是很好的选择。需要针对安装程序安装适用的 MSVC 版本。请注意,离线安装程序不支持 MSVC 2019。若使用 vcpkg,您需要花费相当一段时间将其安装,尤其是在四核或更少内核的计算机上花费时间更久:
vcpkg install qt5-base qt5-multimedia
下一步打开 Visual Studio,选择“克隆仓库”, 输入 https://github.com/mgba-emu/mgba.git
。在 Visual Studio 完成克隆后,转到“文件”>“CMake”,然后打开已签出(checked out)仓库的 CMakeLists.txt 文件。在此基础上便可像其他 Visual Studio CMake 项目一样在 Visual Studio 中开发 mGBA。
如果您拥有 devkitARM(3DS)、devkitPPC(Wii)、devkitA64(Switch)或 vitasdk(PS Vita),您可以使用以下命令进行构建:
mkdir build
cd build
cmake -DCMAKE_TOOLCHAIN_FILE=../src/platform/3ds/CMakeToolchain.txt ..
make
将 -DCMAKE_TOOLCHAIN_FILE
参数替换为以下不同平台的参数:
../src/platform/3ds/CMakeToolchain.txt
../src/platform/switch/CMakeToolchain.txt
../src/platform/psp2/CMakeToolchain.vitasdk
../src/platform/wii/CMakeToolchain.txt
mGBA 没有硬性的依赖项,但是特定功能需要以下可选的依赖项。如果找不到依赖项,则这些可选功能将会被禁用。
SQLite3、libpng 以及 zlib 已包含在模拟器中,因此不需要先对这些依赖项进行外部编译。
[1] 目前缺失的功能有
[2] 闪存大小检测在某些情况下不起作用。 这些可以在运行时中进行配置,但如果遇到此类情况,建议提交错误。
[3] 仅 Qt 端口需要 10.9。应该可以在 10.7 或更早版本上构建或运行 Qt 端口,但这类操作不受官方支持。已知 SDL 端口可以在 10.5 上运行,并且可能能够在旧版本上运行。
mGBA 版权 © 2013 – 2020 Jeffrey Pfau。基于 Mozilla 公共许可证版本 2.0 许可证分发。分发的 LICENSE 文件中提供了许可证的副本。
mGBA 包含以下第三方库:
如果您是游戏发行商,并希望获得 mGBA 用于商业用途的许可,请发送电子邮件到 licensing@mgba.io 获取更多信息。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。