mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-31 16:17:19 -05:00
Each libretro profile records version_basis and core_version is read there at its pin. snes9x states 1.63 in snes9x.h, nestopia 2.0.0, mgba 0.11.0, vice 3.10, atari800's libretro tree 7.0.0. Cores whose build takes its version from git carry the nearest tag in describe form (flycast v2.7-90-ge88b0ce, ppsspp, duckstation, gearcoleco), placeholders copied from .info files (Git, SVN) are replaced by the code's statement, and a code that states none is null with kind none.
129 lines
4.1 KiB
YAML
129 lines
4.1 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"
|
|
source_commit: "b1e04c738cb48a1dae0574b8877f6a116d270ca1"
|
|
core_version: "2022"
|
|
version_basis:
|
|
kind: file
|
|
path: "src/libretro.cpp"
|
|
pattern: 'info->library_version\s+=\s+"([^"]+)'
|
|
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:70-106,
|
|
src/path.cpp:7 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:43).
|
|
|
|
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), so the core never opens these files.
|
|
|
|
.info declares firmware_count=12. The core reads 10 of them and builds
|
|
the two Y-ZOOM entries itself.
|
|
.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
|
|
path: "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
|
|
path: "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
|
|
path: "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
|
|
path: "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
|
|
path: "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
|
|
path: "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
|
|
path: "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
|
|
path: "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
|
|
path: "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
|
|
path: "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"
|