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: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 in repo
front-sp1.bin optional in repo
neocd_sf.rom optional in repo
neocd_t.rom optional in repo
top-sp1.bin optional in repo
neocd_st.rom optional in repo
neocd_z.rom optional in repo
neocd.bin optional in repo
neocd_sz.rom optional in repo
uni-bioscd.rom optional in repo
Generated on 2026-04-18T08:05:07Z