NeoCD - RetroBIOS¶
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). 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 in repo
- Path:
neocd/neocd_f.rom - System: snk-neogeo-cd
- Size: 512.0 KB
- Source:
src/bios.cpp:59 - Platforms: batocera, lakka, recalbox, retroarch, retrobat, retrodeck, retropie, romm
- Front Loader BIOS (big-endian, NeoCD naming)
front-sp1.bin optional in repo
- Path:
neocd/front-sp1.bin - System: snk-neogeo-cd
- Size: 512.0 KB
- Source:
src/bios.cpp:59,src/bios.cpp:148-160 - Platforms: batocera, lakka, recalbox, retroarch, retrobat, retrodeck, retropie, romm
- Front Loader BIOS (little-endian, MAME naming)
neocd_sf.rom optional in repo
- Path:
neocd/neocd_sf.rom - System: snk-neogeo-cd
- Size: 512.0 KB
- Source:
src/bios.cpp:62 - Platforms: batocera, lakka, recalbox, retroarch, retrobat, retrodeck, retropie, romm
- Front Loader BIOS, SMKDan 0.07b
neocd_t.rom optional in repo
- Path:
neocd/neocd_t.rom - System: snk-neogeo-cd
- Size: 512.0 KB
- Source:
src/bios.cpp:60 - Platforms: batocera, lakka, recalbox, retroarch, retrobat, retrodeck, retropie, romm
- Top Loader BIOS (big-endian, NeoCD naming)
top-sp1.bin optional in repo
- Path:
neocd/top-sp1.bin - System: snk-neogeo-cd
- Size: 512.0 KB
- Source:
src/bios.cpp:60,src/bios.cpp:148-160 - Platforms: batocera, lakka, misterfpga, recalbox, retroarch, retrobat, retrodeck, retropie, romm
- Top Loader BIOS (little-endian, MAME naming)
neocd_st.rom optional in repo
- Path:
neocd/neocd_st.rom - System: snk-neogeo-cd
- Size: 512.0 KB
- Source:
src/bios.cpp:63 - Platforms: batocera, lakka, recalbox, retroarch, retrobat, retrodeck, retropie, romm
- Top Loader BIOS, SMKDan 0.07b
neocd_z.rom optional in repo
- Path:
neocd/neocd_z.rom - System: snk-neogeo-cd
- Size: 512.0 KB
- Source:
src/bios.cpp:61 - Platforms: batocera, lakka, recalbox, retroarch, retrobat, retrodeck, retropie, romm
- CDZ BIOS (big-endian, NeoCD naming)
neocd.bin optional in repo
- Path:
neocd/neocd.bin - System: snk-neogeo-cd
- Size: 512.0 KB
- Source:
src/bios.cpp:61,src/bios.cpp:148-160 - Platforms: batocera, lakka, misterfpga, recalbox, retroarch, retrobat, retrodeck, retropie, romm
- CDZ BIOS (little-endian, MAME naming)
neocd_sz.rom optional in repo
- Path:
neocd/neocd_sz.rom - System: snk-neogeo-cd
- Size: 512.0 KB
- Source:
src/bios.cpp:64 - Platforms: batocera, lakka, recalbox, retroarch, retrobat, retrodeck, retropie, romm
- CDZ BIOS, SMKDan 0.07b
uni-bioscd.rom optional in repo
- Path:
neocd/uni-bioscd.rom - System: snk-neogeo-cd
- Size: 512.0 KB
- Source:
src/bios.cpp:68 - Platforms: batocera, lakka, misterfpga, recalbox, retroarch, retrobat, retrodeck, retropie, romm
- Universe BIOS 3.3, CDZ-based third-party multi-region BIOS
Generated on 2026-09-14T09:03:10Z