Files
libretro/emulators/neocd.yml
Abdessamad Derraz 69987cc0bb feat: re-profile 30 emulators, beetle to parallel_n64
source-verified: mesen FdsBios.bin→alias, MesenDB.txt phantom (embedded).
mupen64plus 64DD_IPL.bin→IPL.n64 (code path fix). neocd 000-lo.lo/ng-lo.rom
phantoms (algorithmically generated). new profiles: mesen-s, mupen64plus
next develop/gles2/gles3. regenerate database.
2026-03-24 14:06:20 +01:00

123 lines
3.9 KiB
YAML

emulator: NeoCD
type: libretro
core_classification: pure_libretro
source: "https://github.com/libretro/neocd_libretro"
upstream: "https://github.com/libretro/neocd_libretro"
profiled_date: "2026-03-24"
core_version: "2022"
display_name: "SNK - Neo Geo CD (NeoCD)"
cores:
- neocd
systems:
- snk-neogeo-cd
notes: |
Complete rewrite of NeoCD in C++11. Scans {system_dir}/neocd/ for any .rom
or .bin file, also inside .zip archives (src/libretro_bios.cpp:69-105,
src/path.cpp:6 NEOCD_SYSTEM_SUBDIR = "neocd").
BIOS identified by binary pattern matching at fixed ROM addresses, not by
filename (src/bios.cpp:167-206). Files are auto byte-swapped if needed
(src/bios.cpp:148-160). Files smaller than 524288 bytes are skipped
(src/libretro_bios.cpp:42).
Three hardware families detected: Front Loader, Top Loader, CDZ. Modified
variants recognized: SMKDan 0.07, SMKDan 0.07b, Universe BIOS 3.2,
Universe BIOS 3.3 (src/bios.h:11-27). Any single valid BIOS is sufficient;
selection via core options dropdown sorted alphabetically.
Y-ZOOM ROM (ng-lo.rom / 000-lo.lo) listed in .info but generated
algorithmically, never loaded from file (src/memory.cpp:223-253
generateYZoomData, CRC32 E09E253C). These are phantom .info entries.
.info firmware_count=12 but 2 are phantoms (Y-ZOOM), effective count=10.
.info lists uni-bioscd.rom as "Universe BIOS 3.2" but SHA1 matches
Universe BIOS 3.3 (confirmed by GitHub README).
files:
# --- Front Loader family ---
- name: neocd_f.rom
dest: neocd/neocd_f.rom
system: snk-neogeo-cd
required: false
size: 524288
note: "Front Loader BIOS (big-endian, NeoCD naming)"
source_ref: "src/bios.cpp:59 FRONT_LOADER_SEARCH_PATTERN at 0xC0006C"
- name: front-sp1.bin
dest: neocd/front-sp1.bin
system: snk-neogeo-cd
required: false
size: 524288
note: "Front Loader BIOS (little-endian, MAME naming)"
source_ref: "src/bios.cpp:59 FRONT_LOADER_SEARCH_PATTERN, src/bios.cpp:148-160 autoByteSwap"
- name: neocd_sf.rom
dest: neocd/neocd_sf.rom
system: snk-neogeo-cd
required: false
size: 524288
note: "Front Loader BIOS, SMKDan 0.07b"
source_ref: "src/bios.cpp:62 SMKDANBETA_FRONT_SEARCH_PATTERN at 0xC00004"
# --- Top Loader family ---
- name: neocd_t.rom
dest: neocd/neocd_t.rom
system: snk-neogeo-cd
required: false
size: 524288
note: "Top Loader BIOS (big-endian, NeoCD naming)"
source_ref: "src/bios.cpp:60 TOP_LOADER_SEARCH_PATTERN at 0xC0006C"
- name: top-sp1.bin
dest: neocd/top-sp1.bin
system: snk-neogeo-cd
required: false
size: 524288
note: "Top Loader BIOS (little-endian, MAME naming)"
source_ref: "src/bios.cpp:60 TOP_LOADER_SEARCH_PATTERN, src/bios.cpp:148-160 autoByteSwap"
- name: neocd_st.rom
dest: neocd/neocd_st.rom
system: snk-neogeo-cd
required: false
size: 524288
note: "Top Loader BIOS, SMKDan 0.07b"
source_ref: "src/bios.cpp:63 SMKDANBETA_TOP_SEARCH_PATTERN at 0xC00004"
# --- CDZ family ---
- name: neocd_z.rom
dest: neocd/neocd_z.rom
system: snk-neogeo-cd
required: false
size: 524288
note: "CDZ BIOS (big-endian, NeoCD naming)"
source_ref: "src/bios.cpp:61 CDZ_SEARCH_PATTERN at 0xC0006C"
- name: neocd.bin
dest: neocd/neocd.bin
system: snk-neogeo-cd
required: false
size: 524288
note: "CDZ BIOS (little-endian, MAME naming)"
source_ref: "src/bios.cpp:61 CDZ_SEARCH_PATTERN, src/bios.cpp:148-160 autoByteSwap"
- name: neocd_sz.rom
dest: neocd/neocd_sz.rom
system: snk-neogeo-cd
required: false
size: 524288
note: "CDZ BIOS, SMKDan 0.07b"
source_ref: "src/bios.cpp:64 SMKDANBETA_CDZ_SEARCH_PATTERN at 0xC00004"
- name: uni-bioscd.rom
dest: neocd/uni-bioscd.rom
system: snk-neogeo-cd
required: false
size: 524288
note: "Universe BIOS 3.3, CDZ-based third-party multi-region BIOS"
source_ref: "src/bios.cpp:68 UNIVERSE33_SEARCH_PATTERN at 0xC00150"