Skip to content

NeoCD emulates SNK Neo Geo CD. It reads 10 files, none of them required: it starts games without them.

About this profile
Detail Value
Type libretro
Classification Pure libretro
Source https://github.com/libretro/neocd_libretro
Version 2022, stated in src/libretro.cpp
Revision libretro/neocd_libretro@b1e04c738cb4
Profiled 2026-03-24
Profile YAML, JSON
Cores neocd
Systems SNK Neo Geo CD
Install this emulator's files

The installer finds your setup and its BIOS folder, then downloads only the files this emulator reads there and checks each one.

Open the Start menu. Type PowerShell and open it. Paste the line. Press Enter.

PowerShell
&([scriptblock]::Create((irm https://abdess.github.io/retrobios/i.ps1))) --emulator neocd
Technical 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).

10 files: 0 required, 10 optional.

In this collection: 10 in repo and 0 missing.

FileStatus

neocd_f.rom

  • Path: neocd/neocd_f.rom
  • System: SNK Neo Geo CD
  • Front Loader BIOS (big-endian, NeoCD naming)
Source
in repo

front-sp1.bin

  • Path: neocd/front-sp1.bin
  • System: SNK Neo Geo CD
  • Front Loader BIOS (little-endian, MAME naming)
Source
in repo

neocd_sf.rom

  • Path: neocd/neocd_sf.rom
  • System: SNK Neo Geo CD
  • Front Loader BIOS, SMKDan 0.07b
Source
in repo

neocd_t.rom

  • Path: neocd/neocd_t.rom
  • System: SNK Neo Geo CD
  • Top Loader BIOS (big-endian, NeoCD naming)
Source
in repo

top-sp1.bin

  • Path: neocd/top-sp1.bin
  • System: SNK Neo Geo CD
  • Top Loader BIOS (little-endian, MAME naming)
Source
in repo

neocd_st.rom

  • Path: neocd/neocd_st.rom
  • System: SNK Neo Geo CD
  • Top Loader BIOS, SMKDan 0.07b
Source
in repo

neocd_z.rom

  • Path: neocd/neocd_z.rom
  • System: SNK Neo Geo CD
  • CDZ BIOS (big-endian, NeoCD naming)
Source
in repo

neocd.bin

  • Path: neocd/neocd.bin
  • System: SNK Neo Geo CD
  • CDZ BIOS (little-endian, MAME naming)
Source
in repo

neocd_sz.rom

  • Path: neocd/neocd_sz.rom
  • System: SNK Neo Geo CD
  • CDZ BIOS, SMKDan 0.07b
Source
in repo

uni-bioscd.rom

  • Path: neocd/uni-bioscd.rom
  • System: SNK Neo Geo CD
  • Universe BIOS 3.3, CDZ-based third-party multi-region BIOS
Source
in repo
.