Skip to content

# NeoCD - RetroBIOS

Type | libretro
Classification | pure_libretro
Source | https://github.com/libretro/neocd_libretro
Version | 2022
Profiled | 2026-03-24
Cores | neocd
Systems | snk-neogeo-cd

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: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).

10 files | 0 required, 10 optional | 10 in repo, 0 missing

`neocd_f.rom` -optional

- System: snk-neogeo-cd
- Size: 512.0 KB
- Source: `src/bios.cpp:59 FRONT_LOADER_SEARCH_PATTERN at 0xC0006C`
- Platforms: batocera, lakka, recalbox, retroarch, retrobat, retrodeck, retropie
- Destination: `neocd/neocd_f.rom`
- Front Loader BIOS (big-endian, NeoCD naming)

`front-sp1.bin` -optional

- System: snk-neogeo-cd
- Size: 512.0 KB
- Source: `src/bios.cpp:59 FRONT_LOADER_SEARCH_PATTERN, src/bios.cpp:148-160 autoByteSwap`
- Platforms: batocera, lakka, recalbox, retroarch, retrobat, retrodeck, retropie
- Destination: `neocd/front-sp1.bin`
- Front Loader BIOS (little-endian, MAME naming)

`neocd_sf.rom` -optional

- System: snk-neogeo-cd
- Size: 512.0 KB
- Source: `src/bios.cpp:62 SMKDANBETA_FRONT_SEARCH_PATTERN at 0xC00004`
- Platforms: batocera, lakka, recalbox, retroarch, retrobat, retrodeck, retropie
- Destination: `neocd/neocd_sf.rom`
- Front Loader BIOS, SMKDan 0.07b

`neocd_t.rom` -optional

- System: snk-neogeo-cd
- Size: 512.0 KB
- Source: `src/bios.cpp:60 TOP_LOADER_SEARCH_PATTERN at 0xC0006C`
- Platforms: batocera, lakka, recalbox, retroarch, retrobat, retrodeck, retropie
- Destination: `neocd/neocd_t.rom`
- Top Loader BIOS (big-endian, NeoCD naming)

`top-sp1.bin` -optional

- System: snk-neogeo-cd
- Size: 512.0 KB
- Source: `src/bios.cpp:60 TOP_LOADER_SEARCH_PATTERN, src/bios.cpp:148-160 autoByteSwap`
- Platforms: batocera, lakka, recalbox, retroarch, retrobat, retrodeck, retropie
- Destination: `neocd/top-sp1.bin`
- Top Loader BIOS (little-endian, MAME naming)

`neocd_st.rom` -optional

- System: snk-neogeo-cd
- Size: 512.0 KB
- Source: `src/bios.cpp:63 SMKDANBETA_TOP_SEARCH_PATTERN at 0xC00004`
- Platforms: batocera, lakka, recalbox, retroarch, retrobat, retrodeck, retropie
- Destination: `neocd/neocd_st.rom`
- Top Loader BIOS, SMKDan 0.07b

`neocd_z.rom` -optional

- System: snk-neogeo-cd
- Size: 512.0 KB
- Source: `src/bios.cpp:61 CDZ_SEARCH_PATTERN at 0xC0006C`
- Platforms: batocera, lakka, recalbox, retroarch, retrobat, retrodeck, retropie
- Destination: `neocd/neocd_z.rom`
- CDZ BIOS (big-endian, NeoCD naming)

`neocd.bin` -optional

- System: snk-neogeo-cd
- Size: 512.0 KB
- Source: `src/bios.cpp:61 CDZ_SEARCH_PATTERN, src/bios.cpp:148-160 autoByteSwap`
- Platforms: batocera, lakka, recalbox, retroarch, retrobat, retrodeck, retropie
- Destination: `neocd/neocd.bin`
- CDZ BIOS (little-endian, MAME naming)

`neocd_sz.rom` -optional

- System: snk-neogeo-cd
- Size: 512.0 KB
- Source: `src/bios.cpp:64 SMKDANBETA_CDZ_SEARCH_PATTERN at 0xC00004`
- Platforms: batocera, lakka, recalbox, retroarch, retrobat, retrodeck, retropie
- Destination: `neocd/neocd_sz.rom`
- CDZ BIOS, SMKDan 0.07b

`uni-bioscd.rom` -optional

- System: snk-neogeo-cd
- Size: 512.0 KB
- Source: `src/bios.cpp:68 UNIVERSE33_SEARCH_PATTERN at 0xC00150`
- Platforms: batocera, lakka, recalbox, retroarch, retrobat, retrodeck, retropie
- Destination: `neocd/uni-bioscd.rom`
- Universe BIOS 3.3, CDZ-based third-party multi-region BIOS

Generated on 2026-03-25T14:56:43Z