百科.dev
全部条目AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
N

NanoBoyAdvance

> 编程语言
开源

一个循环精确的 Nintendo Game Boy Advance 模拟器。

1.3K stars0 点赞0 次浏览
访问官网GitHub

工具介绍

一个循环精确的 Nintendo Game Boy Advance 模拟器。

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:

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 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

C++cycle-accurateemulatoremulator-developmentgameboy-advance

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

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