Files
libretro/emulators/neocd.yml
Abdessamad Derraz 639ff69d6c feat: add 10 emulator profiles (batch 2)
a5200, prosystem (Atari 7800), atari800 (400/800/XL/XE),
vice (C64/C128/VIC-20/Plus4/PET - 10 cores, all ROMs embedded),
neocd (Neo Geo CD, 12 BIOS variants), beetle_pce (PC Engine, 6 files),
beetle_pcfx (PC-FX), np2kai (PC-9801, 14 files + YM2608 samples),
quasi88 (PC-8801, 13 ROMs + 3 hidden fonts), opera (3DO, 10 BIOS + 3 kanji)

31 total profiles. Cross-reference: 572 undeclared, 148 in repo.
2026-03-17 20:08:27 +01:00

142 lines
4.7 KiB
YAML

emulator: NeoCD
type: libretro
source: "https://github.com/libretro/neocd_libretro"
systems:
- snk-neogeo-cd
notes: |
NeoCD is a dedicated SNK Neo Geo CD emulator. It supports Front Loader,
Top Loader, and CDZ hardware variants. BIOS files go in {system_dir}/neocd/
subdirectory (src/path.cpp:7, src/libretro_bios.cpp:76-81).
The core scans the neocd/ directory for any .rom or .bin file (also inside
.zip archives), reads the first 512 bytes, and identifies the BIOS type by
binary pattern matching at fixed ROM addresses (src/bios.cpp:168-208).
Filenames listed in the .info are conventional but not enforced by the core.
Three hardware families are detected: Front Loader (NeoCD), Top Loader
(NeoCD), and CDZ. Modified BIOS variants are also recognized: SMKDan 0.07,
SMKDan 0.07b, Universe BIOS 3.2, and Universe BIOS 3.3. The core applies
speed hack patches and CD recognition patches at load time for each type
(src/bios.cpp:209-280).
The Y-ZOOM ROM (ng-lo.rom / 000-lo.lo) is a sprite zoom lookup table loaded
separately (src/memory.h:22, YZOOMROM_SIZE = 0x10000 = 65536 bytes). It is
optional but improves sprite scaling accuracy.
All firmware entries are marked optional in the .info (any single valid BIOS
is sufficient). The core presents detected BIOSes as a dropdown in the core
options menu, sorted alphabetically by description.
BIOS ROM size: 524288 bytes (0x80000, src/memory.h:16).
Y-ZOOM ROM size: 65536 bytes (0x10000, src/memory.h:22).
files:
# Front Loader BIOS (NeoCD original front-loading unit)
- name: neocd_f.rom
dest: neocd/neocd_f.rom
system: snk-neogeo-cd
required: false
size: 524288
note: "Front Loader BIOS, official NeoCD format"
source_ref: "retroarch/libneocd_libretro.info:15 (firmware0)"
# Front Loader BIOS, SMKDan custom
- name: neocd_sf.rom
dest: neocd/neocd_sf.rom
system: snk-neogeo-cd
required: false
size: 524288
note: "Front Loader BIOS, SMKDan custom"
source_ref: "retroarch/libneocd_libretro.info:18 (firmware1)"
# Top Loader BIOS (NeoCD top-loading unit)
- name: neocd_t.rom
dest: neocd/neocd_t.rom
system: snk-neogeo-cd
required: false
size: 524288
note: "Top Loader BIOS, official NeoCD format"
source_ref: "retroarch/libneocd_libretro.info:21 (firmware2)"
# Top Loader BIOS, SMKDan custom
- name: neocd_st.rom
dest: neocd/neocd_st.rom
system: snk-neogeo-cd
required: false
size: 524288
note: "Top Loader BIOS, SMKDan custom"
source_ref: "retroarch/libneocd_libretro.info:24 (firmware3)"
# CDZ BIOS (Neo Geo CDZ, last revision)
- name: neocd_z.rom
dest: neocd/neocd_z.rom
system: snk-neogeo-cd
required: false
size: 524288
note: "CDZ BIOS, official NeoCD format"
source_ref: "retroarch/libneocd_libretro.info:27 (firmware4)"
# CDZ BIOS, SMKDan custom
- name: neocd_sz.rom
dest: neocd/neocd_sz.rom
system: snk-neogeo-cd
required: false
size: 524288
note: "CDZ BIOS, SMKDan custom"
source_ref: "retroarch/libneocd_libretro.info:30 (firmware5)"
# Y-ZOOM ROM (sprite zoom lookup table)
- name: ng-lo.rom
dest: neocd/ng-lo.rom
system: snk-neogeo-cd
required: false
size: 65536
note: "Y-ZOOM ROM, NeoCD format"
source_ref: "retroarch/libneocd_libretro.info:33 (firmware6)"
# Y-ZOOM ROM, MAME naming
- name: 000-lo.lo
dest: neocd/000-lo.lo
system: snk-neogeo-cd
required: false
size: 65536
note: "Y-ZOOM ROM, MAME naming (same content as ng-lo.rom)"
source_ref: "retroarch/libneocd_libretro.info:36 (firmware7)"
# Front Loader BIOS, MAME naming
- name: front-sp1.bin
dest: neocd/front-sp1.bin
system: snk-neogeo-cd
required: false
size: 524288
note: "Front Loader BIOS, MAME naming (same content as neocd_f.rom)"
source_ref: "retroarch/libneocd_libretro.info:39 (firmware8)"
# Top Loader BIOS, MAME naming
- name: top-sp1.bin
dest: neocd/top-sp1.bin
system: snk-neogeo-cd
required: false
size: 524288
note: "Top Loader BIOS, MAME naming (same content as neocd_t.rom)"
source_ref: "retroarch/libneocd_libretro.info:42 (firmware9)"
# CDZ BIOS, MAME naming
- name: neocd.bin
dest: neocd/neocd.bin
system: snk-neogeo-cd
required: false
size: 524288
note: "CDZ BIOS, MAME naming (same content as neocd_z.rom)"
source_ref: "retroarch/libneocd_libretro.info:45 (firmware10)"
# Universe BIOS for CD systems
- name: uni-bioscd.rom
dest: neocd/uni-bioscd.rom
system: snk-neogeo-cd
required: false
size: 524288
note: "Universe BIOS CD, third-party multi-region BIOS (hack)"
source_ref: "retroarch/libneocd_libretro.info:48 (firmware11)"