mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-04-18 23:02:33 -05:00
feat: add 10 emulator profiles (119-series batch 2)
freeintv_ts_overlay (same BIOS as FreeIntv), bnes (NES, no BIOS), clownmdemu (Mega Drive, open-source MCD boot ROM embedded), m2000 (Philips P2000T, all embedded), mesen (NES, FDS + StudyBox BIOS), race (NGP, HLE with disabled BIOS loader), vemulator (VMU, HLE only), gw (Game & Watch, Lua simulator), pd777 (Cassette Vision, no BIOS), play (PS2, full HLE, LoadBIOS commented out) 115 total profiles.
This commit is contained in:
52
emulators/race.yml
Normal file
52
emulators/race.yml
Normal file
@@ -0,0 +1,52 @@
|
||||
emulator: RACE (Neo Geo Pocket)
|
||||
type: libretro
|
||||
source: "https://github.com/libretro/RACE"
|
||||
systems: [snk-ngp, snk-ngpc]
|
||||
|
||||
notes: |
|
||||
RACE is a Neo Geo Pocket and Neo Geo Pocket Color emulator, originally
|
||||
developed for PSP (forked from Akop Karapetyan's port), adapted for
|
||||
libretro.
|
||||
|
||||
No external BIOS files are required. The core contains dead code in
|
||||
race-memory.c that would load "NPBIOS.BIN" (64KB, loaded into cpurom
|
||||
via filestream_open), but it is compiled out with #if 0 and loadBIOS()
|
||||
unconditionally returns 0. The comment explains: "Using a real bios
|
||||
file causes nothing but issues" and references Card Fighters' Clash
|
||||
Test Mode as a known failure.
|
||||
|
||||
Instead, the core uses a software HLE approach:
|
||||
- A built-in koyote_bin memory dump (RAM state from a real console
|
||||
post-boot) is copied into mainram at startup
|
||||
- A fake SWI jump table is constructed at cpurom[0xE000] using the
|
||||
TLCS-900H 0x1A (reg) dummy opcode to trap BIOS calls
|
||||
- doBios() in tlcs900h.c handles 33 BIOS functions in software:
|
||||
shutdown, clock speed, RTC, screen mode, font rendering, flash
|
||||
read/write, communication, and sound control
|
||||
- Interrupt vectors are set up at cpurom[0xFF00] and interrupt
|
||||
handler code at cpurom[0xF800]
|
||||
- CPU RAM defaults (interrupt priorities, timers) are loaded from
|
||||
the ngpcpuram[256] table
|
||||
|
||||
The Z80 sound CPU is emulated in software (cz80 or DrZ80 backend).
|
||||
Flash memory for game saves is handled internally by flash.c.
|
||||
|
||||
The only core option affecting system behavior is ngp_language
|
||||
(english/japanese), which sets a RAM flag at 0x6F87.
|
||||
|
||||
ROM extensions: .ngp, .ngc, .ngpc, .npc
|
||||
|
||||
files: []
|
||||
|
||||
analysis:
|
||||
npbios:
|
||||
filename: NPBIOS.BIN
|
||||
size: 65536 # 64 KB (0x10000)
|
||||
loaded_by: "race-memory.c:loadBIOS()"
|
||||
status: disabled
|
||||
source_ref: "race-memory.c:337-361"
|
||||
notes: |
|
||||
loadBIOS() is wrapped in #if 0 and always returns 0.
|
||||
Even if re-enabled, the realBIOSloaded=1 path has known
|
||||
compatibility issues (e.g. Puzzle Bobble fails to boot).
|
||||
The HLE path is the only functional code path.
|
||||
Reference in New Issue
Block a user