Skip to content
This is a screenshot taken by I which shows the interface of the VisualBoyAdvance emulator, a free GPL emulator which runs Game Boy Advance games.
This is a screenshot taken by I which shows the interface of the VisualBoyAdvance emulator, a free GPL emulator which runs Game Boy Advance games. Image by The original uploader was DarkEvil at English Wikipedia ., via Wikimedia Commons (GPL).

gpSP

GAME BOY ADVANCE EMULATOR CORE

gpSP

gpSP is a Game Boy Advance emulator implemented as a libretro core. It is a libretro adaptation of gpSP (based on notaz' fork) maintained within the libretro ecosystem to run GBA (.gba/.bin) images inside RetroArch and other libretro frontends.

Game Boy AdvancePRIMARY SYSTEM
History documentedPROJECT BEGAN
Open sourcePROJECT MODEL

WHY IT MATTERS

Why gpSP exists

gpSP provides a lightweight, high-performance GBA emulation core intended for use inside libretro frontends (RetroArch, Lakka and others). It exists as an alternate GBA core to options such as mGBA and aims to be small, fast, and compatible with many frontends that support libretro cores.

BEST FOR

Best use case

Use gpSP when you want a minimal, fast GBA core inside a libretro frontend on devices where performance/size matter (handheld Linux-based consoles, low-power Android devices, lightweight RetroArch builds). It is suitable where frontend integration (save states, core options, input mapping) is desired.

Metroid Fusion gameplay on Game Boy Advance
Gameplay from Metroid Fusion on Game Boy Advance.

The people behind gpSP

History and status

The gpSP libretro core is a port of the gpSP Game Boy Advance emulator lineage (notaz' fork influenced earlier ports) and is maintained in the libretro project as the gpsp core repository. The libretro documentation describes the core's background and authorship (Exophase credited for the libretro core) and lists the core's license as GPLv2. The core repository is hosted on GitHub under libretro (gpsp) where current source and build files are available. The core is actively packaged into libretro core distributions and used across several distributions (RetroArch, Lakka, various handheld distributions); however, core feature support and active development cadence vary over time. Verify the repository and libretro documentation for the most recent commit/activity before relying on a particular build.

What gpSP supports

  • Runs as a libretro core inside libretro frontends (e.g., RetroArch, Lakka).
  • Loads Game Boy Advance ROM images with extensions .gba and .bin.
  • Optional use of gba_bios.bin (filename and md5 documented by libretro).
  • Core options and frontend-level features exposed to the frontend (see core options in frontend menus).

Download and availability

OFFICIAL DOWNLOADS

Get gpSP

Official libretro cores (including gpSP) are distributed via libretro/RetroArch core download mechanisms and can be obtained through the RetroArch 'Online Updater' or by building the gpsp core from the libretro gpsp source repository. The libretro documentation lists gpSP in the core list and provides core information; core downloads are provided through the frontend's core download interface or by building from source.

Get gpSP ↗

DOCUMENTATION

Official documentation

Read the official configuration, compatibility, and troubleshooting material before changing advanced options.

Read official documentation ↗
Broken or missing download? Emulator projects move and official links sometimes change. Please contact Retro Replay so the source can be verified and updated.

gpSP setup guide

Setup note: This guide explains obtaining and setting up gpSP as a libretro core inside a libretro frontend (RetroArch used as the primary example). It focuses on verified repository locations, BIOS handling, and practical core options. Do not download commercial game ROMs or BIOS files from untrusted sources.

  1. 1) Obtain the core: Preferred: Use your libretro frontend's Online Updater / Core Downloader (RetroArch: Main Menu → Online Updater → Core Updater) to fetch 'gpSP' / 'gpsp'. Alternative: clone and build the libretro gpsp repository from its official source (libretro's gpsp on GitHub) and place the built core in your frontend's cores directory. Confirm the core filename/extension is appropriate for your platform (e.g., .so on Linux, .dll on Windows, .dylib/.so depending on macOS packaging).
  2. 2) BIOS (optional) and where to place it: gpSP supports an optional GBA BIOS file. If you choose to use a BIOS image, name it gba_bios.bin and place it in your frontend's system directory (RetroArch: Settings → Directory → System/BIOS directory). The libretro docs list the expected filename and md5 a860e8c0b6d573d191e4ec7db1b1e4f6 for gba_bios.bin; using a BIOS is optional and depends on the core and game behavior. Do not rely on this guide as a source for obtaining BIOS files — obtain BIOS only from your own legally obtained firmware.
  3. 3) ROM images and file extensions: Load Game Boy Advance images with extensions .gba or .bin. Do not place commercial ROMs unless you legally own them. From the frontend, choose Load Content and point to the .gba/.bin file. The core will be selected automatically if registered as the GBA core, or you can manually load the gpSP core before opening the ROM.
  4. 4) Core options and recommended changes: After loading a game, open the frontend's quick menu or core options menu to view gpSP-specific options (savefile format, save size, dynarec/jit toggles if present, renderer options, etc.). Save format compatibility matters: if migrating from another GBA core (mGBA, VBA), consider exporting/importing saves carefully and use frontend menus to change savefile type where available. Check the libretro core options in your frontend for current option names and defaults.
  5. 5) Platform/build notes: On many Linux-based handhelds and embedded devices, gpSP is offered as a packaged core. If building from source, follow the repository BUILD instructions and target the correct libretro core ABI for your platform. On Android, use the core downloaded by RetroArch for that platform rather than arbitrary binaries. When using third-party firmware builds or community distributions, confirm the core version included and any applied patches before relying on specific features.
  6. 6) Troubleshooting: If a game crashes or behaves incorrectly, try: switching renderer or audio/video options in the frontend; toggling use of the BIOS file; changing savefile format; testing the same ROM in another GBA core (for compatibility comparison). For bugs in the core itself, consult the gpsp libretro GitHub issues and change logs and consider building a newer revision if fixes are present.

Software reminder: gpSP is a libretro core; you must use a libretro frontend (RetroArch, Lakka, etc.) or a compatible frontend to load the core. The core does not include commercial games, firmware, or BIOS images.

Sources and further reading

Detailed guides and tutorials

Explore step-by-step guides for gpSP as they are published.

Use gpSP on Android

An Android ARM64 Libretro build exists for gpSP. Run the core through RetroArch for Android; the standalone desktop download and Android core may have different menus and features.

Emulates: Game Boy Advance.

Verified Android core build ↗ · Browse all Android emulators →