Skip to content

RACE (Neo Geo Pocket) - RetroBIOS

Type libretro
Classification community_fork
Source https://github.com/libretro/RACE
Upstream https://github.com/8bitpsp/race
Version v2.16
Profiled 2026-03-25
Cores race
Systems snk-ngp, snk-ngpc
Source analysis

npbios:

- **filename:** NPBIOS.BIN
- **size:** 65536
- **loaded_by:** race-memory.c:loadBIOS()
- **status:** disabled
- **source_ref:** race-memory.c:337-361
- **upstream_status:** optional
- **upstream_ref:** memory.cpp:346-365 (8bitpsp/race)
- **notes:** loadBIOS() is wrapped in #if 0 and always returns 0 in the libretro port.

In upstream (8bitpsp/race, alekmaul/race), the function is live and loads NPBIOS.BIN optionally, falling back to HLE if not fo...

Technical notes

RACE is a Neo Geo Pocket and Neo Geo Pocket Color emulator originally by Judge_ (MHE), ported to GP2X by Flavor, to PSP by Akop Karapetyan, modified by theelf, then adapted for libretro.

No external BIOS files are required. The upstream versions (GP2X, PSP) support optional loading of NPBIOS.BIN, but the libretro port disabled it entirely with #if 0 in race-memory.c:loadBIOS(). The comment explains: "Using a real bios file causes nothing but issues."

The core uses a software HLE approach: a compiled-in koyote_bin RAM dump (post-boot console state) is copied into mainram at startup, a fake SWI jump table is built at cpurom[0xE000], and doBios() in tlcs900h.c handles 33 BIOS functions in software. The Z80 sound CPU is emulated via cz80 or DrZ80.

No BIOS or firmware files required. Generated on 2026-03-25T14:56:43Z