SAME CDi
SAME CDi emulates Philips CD-i. It reads 4 files, 1 of them required: without a required file it does not start games.
About this profile
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.
&([scriptblock]::Create((irm https://abdess.github.io/retrobios/i.ps1))) --emulator same_cdiOpen Terminal, in Applications, then Utilities. Paste the line. Press Return.
curl -fsSL https://abdess.github.io/retrobios/i | sh -s -- --emulator same_cdiOpen a terminal. Paste the line. Press Enter.
curl -fsSL https://abdess.github.io/retrobios/i | sh -s -- --emulator same_cdiSwitch to Desktop Mode. Open Konsole. Paste with Ctrl+Shift+V. Press Enter.
curl -fsSL https://abdess.github.io/retrobios/i | sh -s -- --emulator same_cdiInstall Termux, a terminal app. Run pkg install python and termux-setup-storage once. Then paste the line. Press Enter.
curl -fsSL https://abdess.github.io/retrobios/i | sh -s -- --emulator same_cdiOpen a terminal on the device. Or connect from a computer with SSH, a terminal over the network. Paste the line. Press Enter.
curl -fsSL https://abdess.github.io/retrobios/i | sh -s -- --emulator same_cdiPlatform details
-
cdi:
- bios_path: same_cdi/bios/
- forced_system: cdimono1
- primary_zip: cdimono1.zip
- optional_zips: cdimono2.zip, cdi910.zip, cdi490a.zip
- mame_romsets: cdimono1, cdimono2, cdi910, cdi490a
- rom_path_flag: -rp
- rom_search_path: <game_path>;<system_dir>/same_cdi/bios/
- supported_extensions: chd, iso, cue
- source_ref:
src/,osd/ libretro/ libretro-internal/ retro_init.cpp:86 src/,osd/ libretro/ libretro-internal/ retro_init.cpp:463 src/,osd/ libretro/ libretro-internal/ retro_init.cpp:534 src/osd/ libretro/ libretro-internal/ retro_init.cpp:543
Technical 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 (src/osd/libretro/libretro-internal/retro_init.cpp:86,463) and searches for MAME ROM ZIPs in: <system_dir>/same_cdi/bios/
The ROM path (-rp) is built at src/osd/libretro/libretro-internal/retro_init.cpp:543 as: <game_path>;<system_dir>/same_cdi/bios/
MAME expects each romset as a ZIP containing the individual ROM files. The ZIP filenames match the MAME driver names. Only cdimono1.zip is required for consumer CD-i games. The other ZIPs are for alternate hardware models (unreachable without boot_from_cli core option).
ROM definitions: src/mame/drivers/cdi.cpp:639-704. The fork carries four sets, cdimono1, cdimono2, cdi910 and cdi490a, declared at src/mame/drivers/cdi.cpp:713-716. The Quizard game ROMs upstream MAME keeps in this driver are not in it. The .info also lists cdibios.zip, a set this driver does not declare.
The Mono-I machine is built with the Digital Video Cartridge, whose driver ROM vmpega.rom is an optional member of cdimono1.zip: without it the region stays zero-filled and the player boots as a bare Mono-I (src/mame/drivers/cdi.cpp:658-659).
System forced: src/osd/libretro/libretro-internal/retro_init.cpp:86,463,534. BIOS path: src/osd/libretro/libretro-internal/retro_init.cpp:543.
4 files: 1 required, 3 optional.
By kind: 4 BIOS ZIPs.
In this collection: 4 in repo and 0 missing.
Required
Section titled “Required”cdimono1.zip required in repo BIOS ZIP
- Path:
same_cdi/bios/cdimono1.zip - System: Philips CD-i
- Forced system. Main CPU BIOS (3 region variants via MAME BIOS switch) + servo/slave MCU dumps. vmpega.rom is ROM_LOAD_OPTIONAL: full-motion video needs it, the machine starts without it.
- Collection copy:
bios/Philips/CD-i/cdimono1.zip - Platforms:
cdimono1.zip: Batocera, KNULLI.bios/cdimono1.zip: RetroDECK.bios/: EmuELEC.same_cdi/ bios/ cdimono1.zip cdimono1.zipandsame_cdi/bios/cdimono1.zip: RetroBat
Source and 6 members
- Asked for by: emulator code, libretro port
- Source:
src/mame/drivers/cdi.cpp:713(emulator code, libretro port)
cdi200.rom: Magnavox CD-i 200 BIOS (default, US), 512.0 KB, CRC3240c4e6b9, SHA1d961de803c89b3d1902d656ceb9ce7c02dccb40acdi220b.rom: Philips CD-i 220 F2 BIOS (alternate, PAL), 512.0 KB, CRC32279683ca, SHA153360a1f21ddac952e95306ced64186a3fc0b93ecdi220.rom: Philips CD-i 220 BIOS (non-working, does not boot), 512.0 KB, CRC32584c0af8, SHA15d757ab46b8c8fc36361555d978d7af768342d47zx405037p__cdi_servo_2.1__b43t__llek9215.mc68hc705c8a_withtestrom.7201: Servo MCU 2.1 MC68HC705C8A (BAD_DUMP, from cdi910), 8.0 KB, CRC327a3af407, SHA1fdf8d78d6a0df4a56b5b963d72eabd39fcec163fzx405042p__cdi_slave_2.0__b43t__zzmk9213.mc68hc705c8a_withtestrom.7206: Slave MCU 2.0 MC68HC705C8A (BAD_DUMP, from cdi910), 8.0 KB, CRC32688cda63, SHA156d0acd7caad51c7de703247cd6d842b36173079vmpega.rom: Digital Video Cartridge driver ROM (optional), 256.0 KB, CRC32db264e8b, SHA1be407fbc102f1731a0862554855e963e5a47c17b
Optional
Section titled “Optional”cdimono2.zip optional in repo BIOS ZIP
- Path:
same_cdi/bios/cdimono2.zip - System: Philips CD-i
- CD-i Mono-II (NTSC). MACHINE_NOT_WORKING. Listed in .info as optional.
- Collection copy:
bios/Philips/CD-i/cdimono2.zip - Platforms:
same_cdi/bios/cdimono2.zip: Lakka, RetroArch, RetroPie.bios/cdimono2.zip: RetroDECK.bios/: EmuELEC.same_cdi/ bios/ cdimono2.zip cdi/cdimono2.zip: Recalbox.cdimono2.zipandsame_cdi/bios/cdimono2.zip: RetroBat
Source and 3 members
- Asked for by: emulator code, libretro port
- Source:
src/mame/drivers/cdi.cpp:714(emulator code, libretro port)
philips__cdi-220_ph3_r1.2__mb834200b-15__02f_aa__9402_z04.tc574200-le._1.7211: Mono-II main CPU BIOS, Philips CDI-220 PH3 R1.2, 512.0 KB, CRC3217d723e7, SHA16c317a82e35d60ca5e7a74fc99f665055693169dzc405351p__servo_cdi_4.1__0d67p__lluk9404.mc68hc705c8a.7490: Mono-II servo MCU 4.1, 8.0 KB, CRC322bc8e4e9, SHA18cd052b532fc052d6b0077261c12f800e8655bb1zc405352p__slave_cdi_4.1__0d67p__lltr9403.mc68hc705c8a.7206: Mono-II slave MCU 4.1, 8.0 KB, CRC325b19da07, SHA1cf02d84977050c71e87a38f1249e83c43a93949b
cdi910.zip optional in repo BIOS ZIP
- Path:
same_cdi/bios/cdi910.zip - System: Philips CD-i
- CD-i 910-17P Mini-MMC (PAL). MACHINE_NOT_WORKING. Not in .info firmware list.
- Collection copy:
bios/Philips/CD-i/cdi910.zip
Source and 6 members
- Asked for by: emulator code, libretro port
- Source:
src/mame/drivers/cdi.cpp:715(emulator code, libretro port)
philips__cd-i_2.1__mb834200b-15__26b_aa__9224_z01.tc574200.7211: CD-i 910-17P Mini-MMC BIOS (default), 512.0 KB, CRC324ae3bee3, SHA19729b4ee3ce0c17172d062339c47b1ab822b222bcdi910.rom: CD-i 910 alternate BIOS, 512.0 KB, CRC322f3048d2, SHA111c4c3e602060518b52e77156345fa01f619e793zx405037p__cdi_servo_2.1__b43t__llek9215.mc68hc705c8a_withtestrom.7201: Servo MCU 2.1 (same ROM as cdimono1, not BAD_DUMP here), 8.0 KB, CRC327a3af407, SHA1fdf8d78d6a0df4a56b5b963d72eabd39fcec163fzx405042p__cdi_slave_2.0__b43t__zzmk9213.mc68hc705c8a_withtestrom.7206: Slave MCU 2.0 (same ROM as cdimono1, not BAD_DUMP here), 8.0 KB, CRC32688cda63, SHA156d0acd7caad51c7de703247cd6d842b36173079ti_portugal_206xf__tibpal20l8-15cnt__m7205n.7205.bin: PAL chip dump, 324 B, CRC32dd167e0d, SHA12ba82a4619d7a0f19e62e02a2841afd4d45d56bati_portugal_774_206xf__tibpal16l8-10cn_m7204n.7204.bin: PAL chip dump, 260 B, CRC3204e6bd37, SHA1153d1a977291bedb7420484a9f889325dbd3628e
cdi490a.zip optional in repo BIOS ZIP
- Path:
same_cdi/bios/cdi490a.zip - System: Philips CD-i
- CD-i 490. MACHINE_NOT_WORKING. Not in .info firmware list.
- Collection copy:
bios/Philips/CD-i/cdi490a.zip
Source and 3 members
- Asked for by: emulator code, libretro port
- Source:
src/mame/drivers/cdi.cpp:716(emulator code, libretro port)
cdi490a.rom: CD-i 490 main CPU BIOS, 512.0 KB, CRC32e2f200f6, SHA1c9bf3c4c7e4fe5cbec3fe3fc993c77a4522ca547vmpega.rom: Digital video driver ROM, 256.0 KB, CRC32db264e8b, SHA1be407fbc102f1731a0862554855e963e5a47c17bimpega.rom: IMPEG ROM, loaded into its own region and not read by the emulation, 256.0 KB, CRC3284d6f6aa, SHA102526482a0851ea2a7b582d8afaa8ef14a8bd914
Next steps
Section titled “Next steps”- Get your files, for the setup you play on
- Every system, and the files each one needs
- When a game does not start