Files
libretro/emulators/beetle_ngp.yml
Abdessamad Derraz 58f3006d20 docs: add core_version, display_name to all 260 emulator profiles
Every profile now has:
- profiled_date: date of source code analysis
- core_version: version from libretro-core-info .info files
- display_name: human-readable name from .info files

260/260 profiles complete. 294/294 libretro cores covered.
Standalone emulators (cemu, rpcs3, xemu, vita3k) versioned manually.
2026-03-18 05:20:05 +01:00

37 lines
1.4 KiB
YAML

emulator: Beetle NGP (Mednafen Neo Geo Pocket)
type: libretro
source: "https://github.com/libretro/beetle-ngp-libretro"
profiled_date: "2026-03-18"
core_version: "v0.9.36.1"
display_name: "SNK - Neo Geo Pocket / Color (Beetle NeoPop)"
systems: [snk-ngp, snk-ngpc]
notes: |
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
files: []