emulator: SAME CDi type: libretro cores: [same_cdi, cdi2015] source: "https://github.com/libretro/same_cdi" profiled_date: "2026-03-18" core_version: "Git" display_name: "Philips - CDi (SAME CDi)" systems: - cdi notes: | SAME CDi is a Single Arcade Machine Emulator fork of MAME libretro, stripped down to just the Philips CD-i driver. The core hardcodes "cdimono1" as the forced system (retro_init.cpp:86) and searches for MAME ROM ZIPs in: /same_cdi/bios/ The ROM path (-rp) is built at retro_init.cpp:534 as: ;/same_cdi/bios/ MAME expects each romset as a ZIP containing the individual ROM files listed below. The ZIP filenames (cdimono1.zip, cdimono2.zip, cdibios.zip) match the MAME driver names. Only cdimono1.zip is required for consumer CD-i games; cdimono2.zip and cdibios.zip are optional (Mono-II and Quizard arcade). cdi2015 is an older MAME 2015-based CD-i core with the same BIOS layout. ROM definitions: src/mame/drivers/cdi.cpp lines 574-650. System forced: src/osd/libretro/libretro-internal/retro_init.cpp:86. BIOS path: src/osd/libretro/libretro-internal/retro_init.cpp:534. Firmware list: same_cdi_libretro.info firmware0-2. files: # ===================================================== # cdimono1.zip - Philips CD-i Mono-I (PAL) - REQUIRED # Contains main CPU BIOS + servo/slave MCU dumps # ===================================================== # Main CPU BIOS (one of three, selected via MAME BIOS switch) - name: "cdi200.rom" zip: "cdimono1.zip" system: cdi region: [north-america] required: true size: 524288 # 0x80000 crc32: "40c4e6b9" sha1: "d961de803c89b3d1902d656ceb9ce7c02dccb40a" note: "Magnavox CD-i 200 BIOS. Default BIOS for cdimono1." source_ref: "src/mame/drivers/cdi.cpp:577" - name: "cdi220b.rom" zip: "cdimono1.zip" system: cdi region: [europe] required: true size: 524288 # 0x80000 crc32: "279683ca" sha1: "53360a1f21ddac952e95306ced64186a3fc0b93e" note: "Philips CD-i 220 F2 BIOS. Alternate BIOS for cdimono1." source_ref: "src/mame/drivers/cdi.cpp:579" - name: "cdi220.rom" zip: "cdimono1.zip" system: cdi region: [europe] required: false size: 524288 # 0x80000 crc32: "584c0af8" sha1: "5d757ab46b8c8fc36361555d978d7af768342d47" note: "Philips CD-i 220 BIOS (alternate, does not boot). Marked non-working." source_ref: "src/mame/drivers/cdi.cpp:581" # Servo MCU (MC68HC705C8A) - shared with cdi910 dump, BAD_DUMP - name: "zx405037p__cdi_servo_2.1__b43t__llek9215.mc68hc705c8a_withtestrom.7201" zip: "cdimono1.zip" system: cdi required: true size: 8192 # 0x2000 crc32: "7a3af407" sha1: "fdf8d78d6a0df4a56b5b963d72eabd39fcec163f" note: "Servo MCU 2.1, taken from cdi910 (BAD_DUMP, no Mono-I specific dump)." source_ref: "src/mame/drivers/cdi.cpp:584" # Slave MCU (MC68HC705C8A) - shared with cdi910 dump, BAD_DUMP - name: "zx405042p__cdi_slave_2.0__b43t__zzmk9213.mc68hc705c8a_withtestrom.7206" zip: "cdimono1.zip" system: cdi required: true size: 8192 # 0x2000 crc32: "688cda63" sha1: "56d0acd7caad51c7de703247cd6d842b36173079" note: "Slave MCU 2.0, taken from cdi910 (BAD_DUMP, no Mono-I specific dump)." source_ref: "src/mame/drivers/cdi.cpp:587" # ===================================================== # cdimono2.zip - Philips CD-i Mono-II (NTSC) - OPTIONAL # MACHINE_NOT_WORKING in MAME # ===================================================== - name: "philips__cdi-220_ph3_r1.2__mb834200b-15__02f_aa__9402_z04.tc574200-le._1.7211" zip: "cdimono2.zip" system: cdi required: false size: 524288 # 0x80000 crc32: "17d723e7" sha1: "6c317a82e35d60ca5e7a74fc99f665055693169d" note: "Mono-II main CPU BIOS. Philips CDI-220 PH3 R1.2." source_ref: "src/mame/drivers/cdi.cpp:623" - name: "zc405351p__servo_cdi_4.1__0d67p__lluk9404.mc68hc705c8a.7490" zip: "cdimono2.zip" system: cdi required: false size: 8192 # 0x2000 crc32: "2bc8e4e9" sha1: "8cd052b532fc052d6b0077261c12f800e8655bb1" note: "Mono-II servo MCU 4.1." source_ref: "src/mame/drivers/cdi.cpp:626" - name: "zc405352p__slave_cdi_4.1__0d67p__lltr9403.mc68hc705c8a.7206" zip: "cdimono2.zip" system: cdi required: false size: 8192 # 0x2000 crc32: "5b19da07" sha1: "cf02d84977050c71e87a38f1249e83c43a93949b" note: "Mono-II slave MCU 4.1." source_ref: "src/mame/drivers/cdi.cpp:629" # ===================================================== # cdibios.zip - CD-i BIOS for Quizard arcade - OPTIONAL # Subset of cdimono1 ROMs + slave MCU, used by Quizard games # ===================================================== # cdibios reuses cdi200.rom and cdi220b.rom (same hashes as cdimono1) # plus the slave MCU. Listed here for completeness of the ZIP contents. - name: "cdi200.rom" zip: "cdibios.zip" system: cdi required: false size: 524288 # 0x80000 crc32: "40c4e6b9" sha1: "d961de803c89b3d1902d656ceb9ce7c02dccb40a" note: "Magnavox CD-i 200 BIOS (same as cdimono1). For Quizard arcade." source_ref: "src/mame/drivers/cdi.cpp:639" - name: "cdi220b.rom" zip: "cdibios.zip" system: cdi required: false size: 524288 # 0x80000 crc32: "279683ca" sha1: "53360a1f21ddac952e95306ced64186a3fc0b93e" note: "Philips CD-i 220 F2 BIOS (same as cdimono1). For Quizard arcade." source_ref: "src/mame/drivers/cdi.cpp:641" - name: "zx405042p__cdi_slave_2.0__b43t__zzmk9213.mc68hc705c8a_withtestrom.7206" zip: "cdibios.zip" system: cdi required: false size: 8192 # 0x2000 crc32: "688cda63" sha1: "56d0acd7caad51c7de703247cd6d842b36173079" note: "Slave MCU 2.0 (BAD_DUMP, same as cdimono1). For Quizard arcade." source_ref: "src/mame/drivers/cdi.cpp:645" # ===================================================== # Additional MAME romsets (not in libretro .info firmware list) # These are part of the MAME driver but not declared as # required firmware by the libretro core. # ===================================================== # cdi910 - CD-i 910-17P Mini-MMC (PAL) - MACHINE_NOT_WORKING - name: "philips__cd-i_2.1__mb834200b-15__26b_aa__9224_z01.tc574200.7211" zip: "cdi910.zip" system: cdi required: false size: 524288 # 0x80000 crc32: "4ae3bee3" sha1: "9729b4ee3ce0c17172d062339c47b1ab822b222b" note: "CD-i 910-17P Mini-MMC BIOS. Not listed in libretro firmware." source_ref: "src/mame/drivers/cdi.cpp:594" - name: "cdi910.rom" zip: "cdi910.zip" system: cdi required: false size: 524288 # 0x80000 crc32: "2f3048d2" sha1: "11c4c3e602060518b52e77156345fa01f619e793" note: "CD-i 910 alternate BIOS. Not listed in libretro firmware." source_ref: "src/mame/drivers/cdi.cpp:596" # cdi490a - CD-i 490 - MACHINE_NOT_WORKING - name: "cdi490a.rom" zip: "cdi490a.zip" system: cdi required: false size: 524288 # 0x80000 crc32: "e2f200f6" sha1: "c9bf3c4c7e4fe5cbec3fe3fc993c77a4522ca547" note: "CD-i 490 BIOS. Not listed in libretro firmware." source_ref: "src/mame/drivers/cdi.cpp:633" - name: "impega.rom" zip: "cdi490a.zip" system: cdi required: false size: 262144 # 0x40000 crc32: "84d6f6aa" sha1: "02526482a0851ea2a7b582d8afaa8ef14a8bd914" note: "CD-i 490 MPEG audio decoder ROM." source_ref: "src/mame/drivers/cdi.cpp:636" - name: "vmpega.rom" zip: "cdi490a.zip" system: cdi required: false size: 262144 # 0x40000 crc32: "db264e8b" sha1: "be407fbc102f1731a0862554855e963e5a47c17b" note: "CD-i 490 MPEG video decoder ROM." source_ref: "src/mame/drivers/cdi.cpp:637" platform_details: cdi: bios_path: "same_cdi/bios/" forced_system: "cdimono1" primary_zip: "cdimono1.zip" optional_zips: ["cdimono2.zip", "cdibios.zip"] mame_romsets: ["cdimono1", "cdimono2", "cdibios", "cdi910", "cdi490a"] rom_path_flag: "-rp" rom_search_path: ";/same_cdi/bios/" supported_extensions: ["chd", "iso", "cue"] source_ref: "retro_init.cpp:86,534 same_cdi_libretro.info"