RustBoyAdvance-NG
github.com
What it is
RustBoyAdvance-NG is a free Nintendo Game Boy Advance emulator and debugger written in Rust. Its WebAssembly demo accepts ROM files by drag and drop, while the desktop emulator loads ROM files or ZIP archives containing .gba files. Desktop use requires a GBA BIOS binary; the project says an open-source BIOS is supported. The repository lists SDL2 and minifb desktop frontends, with minifb marked as unmaintained, plus Java JNI bindings and a terminal frontend. A proof-of-concept Android application can be opened in Android Studio and requires Rust Android targets with the NDK. The custom debugger and experimental GDB server are gated behind build features. Desktop key commands include saving and loading snapshot files, but controls cannot currently be reconfigured. Desktop builds require Rust 1.51 or later and SDL2 dependencies on Linux and macOS. The project identifies CGB audio, including four wave-generator channels, as remaining emulation work. It is distributed under the MIT License and lists Linux, macOS, Windows, web, and Android platforms.
Spec sheet
- Purpose
- RustBoyAdvance-NG is a Nintendo Game Boy Advance emulator and debugger written in Rust.Read 30 Sep 2026 · github.com
- License
- The repository is distributed under the MIT License, which grants permission to use, copy, modify, distribute, sublicense, and sell copies subject to its conditions.Read 30 Sep 2026 · github.com
- Android
- The repository includes a proof-of-concept Android application that can be opened in Android Studio and requires Rust Android targets with the NDK.Read 29 Sep 2026 · github.com
- Audio limit
- The emulation todo lists CGB audio, including four wave generator channels, as unfinished.Read 30 Sep 2026 · github.com
- BIOS requirement
- Desktop usage requires a GBA BIOS binary, and the README says an open-source GBA BIOS is supported.Read 30 Sep 2026 · github.com
- Controls limit
- The README says key bindings are currently not configurable.Read 30 Sep 2026 · github.com
- Debugger
- The README documents a custom debugger requiring the debugger feature and an experimental GDB server requiring the gdb feature.Read 30 Sep 2026 · github.com
- Desktop frontends
- The project includes SDL2 and minifb desktop applications, with the minifb frontend marked as unmaintained.Read 30 Sep 2026 · github.com
- Desktop setup
- Building the desktop application requires Rust 1.51 or later and SDL2 dependencies on Linux and macOS.Read 30 Sep 2026 · github.com
- Input limitation
- The README says desktop key bindings are currently not configurable.Read 29 Sep 2026 · github.com
- Known emulation gap
- The README lists CGB audio with four wave-generator channels as remaining emulation work.Read 29 Sep 2026 · github.com
- Operating systems
- The build instructions cover Linux, Windows, and macOS desktop dependencies.Read 29 Sep 2026 · github.com
- Other frontends
- The project also lists Java JNI bindings, a terminal frontend using crossterm and viuer, and a proof-of-concept Android application.Read 30 Sep 2026 · github.com
- ROM loading
- The desktop emulator accepts ROM files or ZIP files containing .gba files by drag and drop.Read 30 Sep 2026 · github.com
- Save snapshots
- The desktop key bindings include F5 to save a snapshot file and F9 to load one.Read 30 Sep 2026 · github.com
- Save states
- The desktop key bindings include commands to save and load snapshot files.Read 29 Sep 2026 · github.com
- Support and project status
- The repository exposes GitHub Issues and Discussions, and its releases page currently shows an Android Build [Debug] release.Read 30 Sep 2026 · github.com
- Web emulator
- The browser demo is powered by WebAssembly and lets users load ROM files by dragging them into the screen.Read 30 Sep 2026 · michelhe.github.io
Plans and prices
Strong points and limits
Strong points
- Web demo loads ROM files by drag and drop
- Desktop supports ROMs and ZIP files containing .gba
- Includes save and load snapshot commands
- Distributed under the MIT License
Limits
- Desktop use requires a GBA BIOS binary
- Desktop key bindings are not configurable
- CGB audio work remains unfinished
- minifb frontend is not maintained
Who it suits
It suits people looking for a free GBA emulator across desktop and web, or developers interested in its debugger and frontends. Android support is described as a proof of concept.
RustBoyAdvance-NG in depth
Read the full write-up
Overview
RustBoyAdvance-NG is a free, Rust-written Game Boy Advance emulator with debugger features and several frontend options. It is best suited to technically minded desktop users who value access to debugging tools or want to explore different ways of running an emulator. The trade-off is a project with unfinished audio emulation and desktop controls that cannot be customized.
Key features
The WebAssembly demo accepts ROM files by drag and drop, making it possible to run the emulator in a browser. On desktop, users can drop in a ROM or a ZIP containing a.gba file. F5 saves a snapshot and F9 loads one, which is useful for returning to a particular point in a game; fixed key bindings may be inconvenient if those keys conflict with a player’s setup.
A custom debugger can be enabled with the debugger build feature, and an experimental GDB server is available through the gdb feature. These are meaningful options for developers and people investigating emulation, but they are not substitutes for a finished, player-focused desktop interface. The project also includes Java JNI bindings and a terminal frontend using crossterm and viuer. Its minifb desktop frontend is not maintained.
Desktop use requires a GBA BIOS binary; the README says an open-source GBA BIOS is supported. That is an additional setup requirement for anyone who wants to start playing on desktop. The emulation todo also leaves CGB audio, including four wave-generator channels, unfinished, a limitation for players who expect that audio behavior to be emulated.
Pricing
Free — free. The free plan provides the MIT-licensed emulator and debugger, with no paid tier or free-trial term indicated. The MIT License permits use, copying, modification, distribution, sublicensing, and sale subject to its conditions. The cost is not the main trade-off: desktop users must supply a BIOS binary, and the emulator’s unfinished audio and fixed controls may make it a poor fit for players seeking a polished setup.
Platforms
RustBoyAdvance-NG covers Linux, Windows, macOS, Android, and the web. Desktop build instructions address Linux, Windows, and macOS, and desktop builds require Rust 1.51 or later; SDL2 dependencies are required on Linux and macOS. Android support is a proof of concept rather than a turnkey app: opening it in Android Studio requires Rust Android targets and the NDK. The browser option is a WebAssembly demo, while the project also lists SDL2 and minifb desktop frontends.
Who it's for
This is a better fit for developers, emulator enthusiasts, and desktop users comfortable with build requirements than for someone who wants a simple, fully finished way to play GBA games. The debugger and experimental GDB server give technically inclined users room to investigate the emulator, while the web demo offers a lower-friction way to try its ROM-loading flow. Android users should treat the app as experimental, not as a mature mobile release.
Pros and cons
Pro: Browser, desktop, terminal, JNI, and Android proof-of-concept options give technically minded users several ways to approach the emulator.
Pro: A custom debugger and experimental GDB server support debugging-oriented use beyond ordinary game playback.
Pro: Snapshot shortcuts make it possible to save and reload a game state from the desktop frontend.
Con: Desktop use requires a GBA BIOS binary, adding a setup step before play.
Con: CGB audio with four wave-generator channels remains unfinished, leaving a notable emulation gap.
Con: Desktop key bindings cannot be changed, and the minifb frontend is not maintained.
Con: The Android app is only a proof of concept and requires Android Studio, Rust Android targets, and the NDK.
Alternatives
Game Boy Advance Emulators is the broader category to consult when comparing GBA options. Choose RetroArch if you want a free, open-source project available across Android, iOS, Linux, macOS, web, and Windows. SkyEmu is another free, open-source option with the same listed platform coverage; its DS emulation is beta quality.
VisualBoyAdvance-M may suit readers looking for a free Game Boy and Game Boy Advance emulator with builds for Windows, macOS, Linux, and Android. GSE is a free, open-source alternative for Android, Linux, macOS, and Windows. For a free, open-source GBA emulator on Linux, macOS, or Windows, consider mGBA; Hemulator is another free option on those desktop platforms, with users providing their own legally obtained ROM files. NanoBoyAdvance is free on Linux, macOS, and Windows under GPL 3.0 or later. If iOS or macOS is the priority, Provenance offers a free plan with all emulation features when sideloaded or built from source.
Verdict
Choose RustBoyAdvance-NG if you want a free GBA emulator whose debugger options and varied frontends are as important as playing games. The debugger is its clearest reason to choose it; the BIOS requirement, unfinished CGB audio, and unchangeable desktop controls are good reasons to look elsewhere if you want a straightforward, complete player experience.
Verdict
RustBoyAdvance-NG offers multiple ways to run a GBA emulator, with debugger features available behind build options. The BIOS requirement, unfinished audio work, and fixed desktop controls are important constraints.
Where Specifiction places it
- Game Boy Advance Emulators#10 of 297.9