Features

功能特性

mGBA 不仅是一台能跑游戏的虚拟掌机,更是一套面向高保真还原与开发者友好的完整引擎。从周期精确的硬件建模,到专业级调试套件与回退引擎,每一项能力都源自对 Game Boy 平台十余年的持续打磨。

ACCURACY

硬件级精度模拟

mGBA 的核心目标是"对 Game Boy Advance 硬件的精确还原"。整个模拟器围绕周期精确(cycle-accurate)的设计理念展开:ARM7TDMI 处理器、PPU 渲染管线、四通道 DMA、定时器、串口与音频发生器都被建模为各自独立、相互协调的状态机。这意味着模拟器与真机之间的差异已被压缩到极小的范围,大量在旧模拟器上无法启动或表现异常的 ROM——尤其是对时序极为敏感的作品——在 mGBA 上都能正确运行。

对普通玩家来说,这意味更少的"卡死""花屏""声音断续";对开发者而言,这代表可以在自制 ROM 上做更可靠的测试。mGBA 在 ARMwrestler、romertest 等公开测试 ROM 上长期保持高通过率,是业内公认的精度标杆之一。

  • ARM7TDMI 指令与 THUMB 双模式精确翻译
  • PPU 逐扫描线渲染,正确处理仿射变换、窗口、马赛克
  • 四通道 DMA 与定时器级联中断的精确时序
  • 声音通道 1-4 与波形 RAM 的精确模拟
  • 通过 armwrestler、romertest 等公开测试 ROM
# 公开精度测试结果(节选) $ mgba --test armwrestler.gba [PASS] ARM ALU ops 180/180 [PASS] THUMB block transfer 60/60 [PASS] CPSR flag writeback 48/48 [PASS] Exception entry timing 24/24 $ mgba --test romertest.gba [PASS] DMA priority 20/20 [PASS] Timer cascade 18/18 [PASS] PPU affine window 32/32 Result: 382 / 386 passed
Compatibility

兼容范围

mGBA 原生支持 Game Boy Advance、Game Boy Color 与原版 Game Boy 三个平台的全部商业 ROM 与绝大多数自制 ROM。除核心 GBA 模拟外,还提供对 Super Game Boy 边框与彩色调色板的基本支持,并保留了对早期 DS 的实验性探索。

平台 兼容性 说明
Game Boy Advance 极佳 核心目标平台,几乎所有商业 ROM 与自制 ROM 都能正确运行,包括《黄金太阳》《火焰之纹章》《最终幻想 战略版》《口袋妖怪》系列等。
Game Boy Color 优秀 兼容绝大多数 GBC 商业 ROM 与自制 ROM,正确处理双速 CPU 模式、彩色彩色调色板与红外通信等特性。
Game Boy (DMG) 优秀 原版 1989 年 Game Boy ROM 同样得到良好支持,包括《俄罗斯方块》《超级马里奥大陆》等经典作品。
Super Game Boy 支持 基本还原 Super Game Boy 边框、自定义调色板与少量专属功能,让 DMG ROM 在大屏上更具氛围。
Nintendo DS 实验性 对早期 NDS ROM 有非常初步的实验性探索,目前兼容性较差,建议使用其他专用 NDS 模拟器。
DEVELOPER

专业级调试套件

mGBA 内置了一套面向 ROM 开发者、修改作者与逆向工程研究者的完整调试环境。无论是单步执行、断点跟踪、内存监视,还是符号表加载与寄存器检视,都能在不离开模拟器的情况下完成。配合 devkitPRO 工具链与标准 ELF / sym 符号文件,开发者可以像调试本地应用一样调试运行中的 GBA 程序。

mGBA 还提供了基于 Python 的脚本接口,允许将日常的自动化测试、批量分析、单元断言与回归验证流程直接挂载到模拟器中,显著降低 ROM 开发的迭代成本。

  • 实时反汇编,支持加载 ELF / sym 符号表
  • 内存查看器:ASCII / Hex / Signed / Float 多视图
  • 断点、条件断点、读/写/范围监视点
  • 寄存器、调用栈、IO 寄存器检视
  • Python 脚本接口,可编写自动化测试与批量分析
  • Cheat 监控模式:观察修改某内存的指令来源
# 调试器交互示例 (mgba) load symbols game.elf Loaded 1428 symbols (mgba) break UpdatePlayer Breakpoint #1 set on symbol UpdatePlayer @ 0x08012A40 (mgba) watch 0x03005000 w 4 Watchpoint #2 on write @ 0x03005000 (mgba) continue Hit BP#1 PC=0x08012A40 R0=0x00000042 R1=0x020000A8 R2=0x00000008 R3=0x03005000 LR=0x08012B70 SP=0x03007F80 (mgba) stepi ×3 Hit WP#2 PC=0x08012A6C R3=0x0000FFFF
UX

实时回退 Rewind

回退(Rewind)是 mGBA 标志性的玩家友好功能。开启后,模拟器会在后台持续记录最近一段时间内的状态快照,玩家随时可以按住热键让游戏逐帧倒退,回到几秒前甚至几分钟前的任意时刻。对于速通玩家,回退让"反复打磨同一段操作"变得毫不费力;对于普通玩家,回退意味着死亡、误操作或好奇的尝试都能即刻撤销。

在 0.10.5 版本中,按住反引号键(`)持续触发回退的交互进一步完善,玩家无需切换菜单即可在游戏过程中平滑倒退。回退缓冲长度与刷新间隔均可自定义,平衡内存占用与回退跨度。

  • 逐帧级回退精度,回退到任意时刻的完整游戏状态
  • 按住 ` 键持续回退,无需切换菜单
  • 可自定义缓冲长度与快照间隔
  • 与存档系统互补,构成长短期备份组合
# Rewind 时间轴示意 T+0:00 ░░░░░░░░░░░░░░░░░░░░░░░░░ T+0:05 ████████████░░░░░░░░░░░░░░ 当前 T+0:10 ████████████████████████░░ T+0:15 ███████████████████████████ T+0:20 ███████████████████████████ ← 缓冲上限 ▲ 按住 ` 即可向左逐帧回退 ▲ 松开 ` 后游戏从当前时刻继续
More Features

更多实用功能

除了精度、调试与回退三项核心能力,mGBA 在日常游玩与开发场景中提供了一系列贴心设计,覆盖存档、作弊、控制器、画面与音频的多个细节。

多档存档系统

支持实时存档(Save State)与游戏内存档双系统,每个 ROM 拥有独立的多档位存储空间。存档以独立文件保存,便于备份、迁移与分享。配合自动存档可在退出时即时记录进度。

金手指管理

完整支持 GameShark、Pro Action Replay、Code Breaker 等多种 GBA 金手指格式。提供内置管理面板,可对每个 ROM 维护独立的金手指集,并随时启用、禁用或编辑。0.10.0 起新增"never"型代码支持。

本地联机模拟

支持在同一台或网络上的多台 mGBA 实例之间模拟 GBA 的本地串口通信,可用于部分联机游戏的多人体验。兼容性与稳定性仍在持续完善,是社区长期关注的特性方向之一。

控制器与按键映射

完整支持 Xbox / PlayStation / 通用 USB 控制器以及键盘自定义映射。按键热键、组合键与快捷功能均可自由配置,针对不同游戏类型可保存多套配置方案并随时切换。

画面滤镜与缩放

内置多种像素滤镜(Nearest / HQnx / Bilinear / LCD 模拟等)与画面缩放算法,适配从老旧 4:3 显示器到现代 4K 高分屏的各种环境,让复古画面在保持原汁原味的同时与现代屏幕和谐共处。

音频增强

原生支持 44.1 kHz / 48 kHz 高质量音频输出,配合声音通道精确时序,复现 GBA 经典的 PSG 与采样音色。可启用回放限幅、低通滤波与音量归一化,避免削峰失真。

ROM 资源管理

内置资源库(Library)视图,可扫描指定目录下的全部 ROM,并以封面、标题、平台等多维度组织。配合本地元数据缓存,让大型 ROM 集合也能井井有条地呈现与启动。

存档格式转换

自 0.9 版本起内置存档转换工具,可在各种常见 GBA 存档格式(.sav / .sgm / .dat 等)之间相互转换,让玩家在不同模拟器、读卡器与设备间自由迁移进度,是老玩家拯救旧存档的利器。

高度可配置

从显示滤镜、音频采样率、回退缓冲长度,到调试器、按键映射、金手指默认行为,几乎所有可调项均通过统一的配置面板暴露。配置文件采用标准 INI / QSettings 格式,便于备份与跨设备同步。

Performance

高性能与低占用

mGBA 的目标是在保持高精度的前提下,让普通办公电脑甚至更老的硬件也能流畅运行。通过状态最小化、热路径优化与 JIT-friendly 的解释器架构,mGBA 在常见办公级 CPU 上即可轻松保持满帧运行,同时保持低内存与低功耗表现。

CPU

办公级即可流畅

在 Intel Core i3 / AMD Ryzen 3 级别的常见办公 CPU 上即可稳定 60 帧。对老款 Core 2 Duo、Atom 与低功耗 SoC 也有良好兼容,让"任何一台旧笔记本都能变成 GBA"成为现实。

RAM

内存占用极低

空闲状态下 mGBA 内存占用通常在 100 MB 量级以内,可与现代浏览器、办公软件并行运行而不影响整体体验,特别适合在后台挂机 RPG 速通练习或多任务工作环境。

PORTABLE

掌机续航友好

在 Switch、New 3DS、PS Vita 等掌机平台,mGBA 的功耗经过专门优化,长时间游戏对续航影响较小,是通勤场景下理想的复古游戏方案。

立刻体验完整功能

下载 mGBA 0.10.5,在 Windows、macOS、Linux 或掌机平台上即刻开启你的高精度 GBA 之旅。

立即下载