gpSP
gpSP emulates Nintendo Game Boy Advance. It reads 1 file, none of them required: it starts games without them.
About this profile
Install this emulator's files
The installer finds your setup and its BIOS folder, then downloads only the files this emulator reads there and checks each one.
Open the Start menu. Type PowerShell and open it. Paste the line. Press Enter.
&([scriptblock]::Create((irm https://abdess.github.io/retrobios/i.ps1))) --emulator gpspOpen Terminal, in Applications, then Utilities. Paste the line. Press Return.
curl -fsSL https://abdess.github.io/retrobios/i | sh -s -- --emulator gpspOpen a terminal. Paste the line. Press Enter.
curl -fsSL https://abdess.github.io/retrobios/i | sh -s -- --emulator gpspSwitch to Desktop Mode. Open Konsole. Paste with Ctrl+Shift+V. Press Enter.
curl -fsSL https://abdess.github.io/retrobios/i | sh -s -- --emulator gpspInstall Termux, a terminal app. Run pkg install python and termux-setup-storage once. Then paste the line. Press Enter.
curl -fsSL https://abdess.github.io/retrobios/i | sh -s -- --emulator gpspOpen a terminal on the device. Or connect from a computer with SSH, a terminal over the network. Paste the line. Press Enter.
curl -fsSL https://abdess.github.io/retrobios/i | sh -s -- --emulator gpspPlatform details
-
gba:
- bios_size: 16384
- hle_bios: yes
- source_ref:
libretro/libretro.c:1239-1276,bios/source/core.s(emulator code, libretro port) - note: 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:1239-1276):
- Resolve system directory (RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY)
- Append "/gba_bios.bin"
- load_bios() reads 0x4000 (16 KB) into bios_rom[]
- Sanity check: bios_rom[0] must be 0x18 (ARM branch opcode)
- 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 file: 0 required, 1 optional. 1 has an HLE fallback.
In this collection: 1 in repo and 0 missing.
Optional
Section titled “Optional”gba_bios.bin optional in repo HLE fallback
Official GBA BIOS
- System: Nintendo Game Boy Advance
- Built-in open-source BIOS used as fallback. Real BIOS needed for full SWI accuracy and boot animation.
- Size: 16.0 KB
- Collection copy:
bios/Nintendo/ Game Boy Advance/ GBA_bios.rom - Platforms:
gba_bios.bin: Batocera, KNULLI, Lakka, RetroArch, RetroBat, RetroPie, ROCKNIX.bios/gba_bios.bin: AmberELEC, EmuELEC, RetroDECK.gba/gba_bios.bin: Recalbox, RomM.GBA/boot.rom: MiSTer FPGA.GBA_bios.rom: BizHawk
Source
- Asked for by: libretro glue and emulator code, libretro port
- Source:
libretro/libretro.c:1254(libretro glue),gba_memory.c:3270-3281(emulator code, libretro port)
Next steps
Section titled “Next steps”- Get your files, for the setup you play on
- Every system, and the files each one needs
- When a game does not start