Baike.dev
All toolsOnline toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
N

NanoBoyAdvance

> 编程语言
Open source

A cycle-accurate Nintendo Game Boy Advance emulator.

1.3K stars0 likes1 views
WebsiteGitHub

About

A cycle-accurate Nintendo Game Boy Advance emulator.

Migrated to Codeberg!

Development of the project on GitHub has ceased and will continue over on Codeberg.

NanoBoyAdvance

NanoBoyAdvance is a cycle-accurate Game Boy Advance emulator.
It aims to be as accurate as possible, while also offering enhancements such as improved audio quality.

Features

  • Very high compatibility and accuracy (see Accuracy)
  • HQ audio mixer (for games which use Nintendo's MusicPlayer2000 sound engine)
  • Post-processing options (color correction, xBRZ upscaling and LCD ghosting simulation)
  • Save State support (10x save slots available)
  • Game controller support (buttons and axises can be remapped)
  • Loading ROMs from archives (including ZIP, 7z, tar and more)
  • RTC emulation
  • Solar Sensor emulation (for example: for Boktai - The Sun is in Your Hand)
  • Debug tools: PPU palette, tile, background and sprite viewers

Running

Download the lastest release.

Upon loading a ROM for the first time you will be prompted to assign the Game Boy Advance BIOS file.
You can dump it from a real console (accurate) or use an unofficial BIOS (Use gba_bios.bin from the bios folder.) (less accurate).

Accuracy

A lot of research and attention to detail has been put into developing this core and making it accurate.

  • Cycle-accurate emulation of most components, including: CPU, DMA, timers, PPU and Game Pak prefetch
  • Passes all AGS aging cartridge tests (NBA was the first public emulator to achieve this)
  • Passes most tests in the mGBA test suite
  • Passes ARMWrestler, gba-suite and FuzzARM CPU tests
  • Very high compatibility, including games that require emulation of peculiar hardware edge-cases

Compiling

Prerequisites:

  • Clang or GCC with C++20 support
  • CMake 3.24 or newer (Recommended generator is Ninja)
  • SDL 3.0.0 or newer
  • Qt 6.0 or newer
Distribution Packages Package Manager Notes
Arch Linux cmake ninja sdl3 qt6-base pacman
Debian & Ubuntu cmake ninja-build libsdl3-dev qt6-base-dev apt
macOS cmake ninja sdl3 qt@6 Homebrew
FreeBSD cmake devel/ninja git sdl3 qt6-base pkg Untested on CI. Use at your own risk:tm:.

You can then configure NanoBoyAdvance:

bash
cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=Release

For Windows, append -DQt6_DIR=path\to\Qt6-config.cmake and -DSDL3_DIR=path\to\SDL3-config.cmake, with the correct paths given.

Compiling can now be done through cmake --build build.

Acknowledgements

Individual(s) Their impact
Martin Korth GBATEK, a good piece of hardware documentation
endrift Hardware research and her excellent test suite
destoer, Noumi, Sky and Zayd Hardware research and tests, countless discussions and being good friends
Pokefan531, hunterk The default GBA color correction algorithm
Talarubi, Near higan's GBA color correction algorithm
DeSmuME, Hyllian xBRZ upscaling code

Sister Projects

Our sister projects include SkyEmu, Dust and Panda3DS.

Copyright

NanoBoyAdvance is licensed under the terms of the GNU General Public License (GPL) 3.0 or any later version. See LICENSE for details.

Game Boy Advance is a registered trademark of Nintendo Co., Ltd.

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

C++cycle-accurateemulatoremulator-developmentgameboy-advance

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言