Skip to content

# gpSP - RetroBIOS

Type | libretro
Classification | community_fork
Source | https://github.com/libretro/gpsp
Upstream | https://github.com/davidgfnet/gpsp
Version | Git
Profiled | 2026-03-23
Cores | gpsp
Systems | nintendo-gba

Platform details

gba: - bios_size: 16384 - hle_bios: True - source_ref: libretro/libretro.c:1100-1131, bios/source/ - notes: The built-in BIOS (open_gba_bios_rom, 16 KB) is an open-source

reimplementation compiled from bios/source/. It implements most SWI calls (SoftReset, RegisterRamReset, Halt, VBlankIntrWait, arithmetic, decompression, sound, multiboot).

No hash or checksum verification is performed. The only check is bios_rom[0] == 0x18 (ARM branch at reset vector).

The bios_type enum (main.h:56-61) defines three modes: auto_detect - try official first, fall back to built-in builtin_bios - skip file load entirely, use open_gba_bios_rom official_bios - try file, warn on failure, still fall back

Technical notes

gpSP is a Game Boy Advance emulator originally by Exophase, forked by notaz for GP2X/Pandora, now maintained by davidgfnet for libretro. Ships a built-in open-source BIOS (bios/open_gba_bios.bin) compiled from bios/source/ that covers most games.

The core option gpsp_bios controls BIOS selection: auto (default) - try official gba_bios.bin, fall back to built-in builtin - always use the built-in open-source BIOS official - try gba_bios.bin, warn and fall back to built-in if missing

BIOS loading path (libretro/libretro.c:1100-1131): 1. Resolve system directory (RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY) 2. Append "/gba_bios.bin" 3. load_bios() reads 0x4000 (16 KB) into bios_rom[] 4. Sanity check: bios_rom[0] must be 0x18 (ARM branch opcode) 5. On failure, memcpy open_gba_bios_rom[] as fallback

The official BIOS improves compatibility for games that rely on precise SWI behavior or BIOS checksum verification.

Upstream (notaz/Exophase) required the official BIOS with no fallback. The built-in open-source BIOS is a davidgfnet/libretro addition.

1 files | 0 required, 1 optional | 1 in repo, 0 missing | 1 with HLE fallback

`gba_bios.bin` -optional, HLE available : Official GBA BIOS

- System: nintendo-gba
- Size: 16.0 KB
- Source: `libretro/libretro.c:1111, gba_memory.c:2568-2579`
- Platforms: batocera, lakka, recalbox, retroarch, retrobat, retrodeck, retropie
- Built-in open-source BIOS used as fallback. Real BIOS needed for full SWI accuracy and boot animation.

Generated on 2026-03-25T14:56:43Z