Skip to content

Beetle NGP (Mednafen Neo Geo Pocket) - RetroBIOS

Type libretro
Source https://github.com/libretro/beetle-ngp-libretro
Version v0.9.36.1
Profiled 2026-03-18
Cores beetle_ngp
Systems snk-ngp, snk-ngpc

No BIOS or firmware files required. This core is self-contained.

Beetle NGP is a fork of Mednafen's NeoPop module for Neo Geo Pocket and Neo Geo Pocket Color emulation via libretro.

No external BIOS or firmware files are required. The core uses a built-in High-Level Emulation (HLE) BIOS that is constructed at runtime by bios_install() in mednafen/ngp/bios.c.

The HLE BIOS populates a 64KB array (ngpc_bios[0x10000]) with: - A system call vector table at 0xFE00 (27 entries covering clock, RTC, interrupts, font, flash read/write, comms) - Each vector target contains an iBIOSHLE instruction (opcode 0x1F) that traps into biosHLE.c for high-level handling - A built-in system font (2048 bytes at 0x8DCF) - A default interrupt handler (RETI at 0x23DF) - An infinite loop at 0xFFFE as the idle entry point

The TLCS-900h CPU (main) and Z80 (sound) are both emulated in software. Flash memory for game saves is handled internally via flash.c without needing a separate firmware dump.

The only core option is ngp_language (english/japanese), which controls the language flag passed to games. It does not affect BIOS loading.

ROM extensions: .ngp, .ngc, .ngpc, .npc

Generated on 2026-03-20T19:12:20Z