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