Has anyone managed to run CHD Philips CD-i game under windows?

I have followed others thread but I have not got anything. I am using Retroarch 1.7.3 x64 windows with next steps:

  1. Download mame core (mame_libretro.dll) 298mb.
  2. Load bubble bobble 2 rom to be able to change next options:

Settings core

softlists (OFF) Media type (cdrm) Boot from CLI (ON)

  1. Close content (bubble bobble 2)
  2. Load content selecting hotel mario (1994)(philips)(eu)[!].chd
  3. Crash

The debug log is:

[INFO] [GLSL]: Linking GLSL program.

[INFO] Resetting shader to defaults …

[INFO] [GL]: Using 4 textures.

[INFO] [GL]: Loaded 1 program(s).

[INFO] [XInput]: Found XInput v1.4.

[INFO] [XInput]: Found XInput v1.4.

[INFO] [DINPUT]: Enumerating joypads …

[INFO] [DINPUT]: Done enumerating joypads …

[INFO] [Joypad]: Found joypad driver: “dinput”.

[INFO] [Font]: Using font rendering backend: freetype.

[INFO] [Video]: Found display server: win32

[INFO] XAudio2: Requesting 64 ms latency, using 64 ms latency.

[ERROR] Failed to init XAudio2.

[ERROR] Failed to initialize audio driver. Will continue without audio.

[INFO] [Font]: Using font rendering backend: freetype.

[INFO] [Font]: Using font rendering backend: freetype.

[INFO] [LED]: LED driver = ‘null’ 00000000008DD540

[INFO] Loading history file: [C:\Retroarch\content_history.lpl].

[INFO] Loading history file: [C:\Retroarch\content_favorites.lpl].

[INFO] Loading history file: [C:\Retroarch\content_music_history.lpl].

[INFO] Loading history file: [C:\Retroarch\content_video_history.lpl].

[INFO] Loading history file: [C:\Retroarch\content_image_history.lpl].

[INFO] [GL]: VSync => on

[INFO] [WGL]: wglSwapInterval(1)

[ERROR] failed_to_start_audio_driver

[libretro INFO] Starting game from command line:C:\Retroarch\roms\hotel mario (1994)(philips)(eu)[!].chd

[libretro INFO] ARGUV[0]=C:\Retroarch\roms\hotel

[libretro WARN] Driver C:\Retroarch\roms\hotel not found -1

[libretro WARN] Game not found: (1994)(philips)(eu)[!]

[libretro INFO] RES:-2

My roms directory:

Rooms directory

Can anyone help me?


I believe you need softlists for console games with the MAME core. In this case, it looks like it’s not escaping the space in the filename properly. That is, it’s looking for a driver named C:\Retroarch\roms\hotel and a game called (1994)(philips)(eu)[!]

I have the hash folder (extracted from mame version) inside retroarch/system/

hash folder

Is it for softlist? How can I use cdi softlist? I have tried the next command line unsuccessfully:

retroarch.exe cdimono1 -rompath “C:\retroarch\system\mame” -cdrm “c:\retroarch\roms\hotel mario (1994)(philips)(us)[!].chd” -L C:\retroarch\cores\mame_libretro.dll

Sorry, I’m newbie and I would like very much to learn how to run the CD-i games.

Have you tried the steps from this post?

Yes, but unsuccessfully. I have tested as airin1 said in first post and as badhemi said in second post.

I haved tested as this post said changing NeoGeo games by CD-i games too:

Run NEO GEO CD with RetroArch Directly (mame_libretro)

Maybe I am closer due to with this option log is:

[libretro INFO] Starting game:C:\Retroarch\roms\cdi\hotmario\hotel mario (1994)(philips)(eu)[!].chd

[libretro WARN] Driver hotel mario (1994)(philips)(eu)[!] not found -1

[libretro ERROR] Driver not found hotel mario (1994)(philips)(eu)[!]

[libretro WARN] Driver hotmario not found -1

[libretro ERROR] System not found: hotmario

[libretro INFO] RES:-2

My directory configuration:

cdi path hotmario.zip is a dummy empty file zip.

hotmario directory

You need to load a zip file instead of the chd. The zip file needs to match the name of the file that MAME is looking for in the softlist.

I’ve created some ‘blank’ zip files that you can use to load the games. (all MAME is looking for is a file of the correct name, so these are just dummy files) Heres’s the blank files required for CDI, here’s the blank files required for Neo Geo CD

So for hotel mario, you would load the blank file hotmario.zip. The CHD file and the BIOS files need to be in the same folder, and the folder needs to be named ‘cdimono1’

cdimono1 (folder containing these files)

  • hotmario.zip
  • hotel mario (1994)(philips)(eu)[!].chd
  • cdimono1.zip
  • cdimono2.zip
  • cdibios.zip

Then the command would just be:

retroarch.exe" -L "C:\retroarch\cores\mame_libretro.dll" "c:\retroarch\roms\cdimono1\hotmario.zip"

You can also just load the hotmario.zip file from the retroarch GUI

1 Like

@zachmorris a lot of thanks!!! Thanks to your guide I have managed to get to the CDI home screen, but now I don’t know how to pass it:

CDI Home Screen

With the keyboard arrow keys I can move the mouse pointer (the black one in the screenshot), should I press Play CD-I button in the CDI home screen to finnish the load of Hotel Mario? I have not been able to find how to press the Play CDI button, need I configure something more in Retroarch?

This is the log, maybe the Rom is not loaded properly yet?

[libretro INFO] Starting game:C:\Retroarch\roms\cdimono1\hotmario.zip

[libretro WARN] Driver hotmario not found -1

[libretro ERROR] Driver not found hotmario

[libretro INFO] Game name: cdimono1, Game description: CD-i (Mono-I) (PAL)

[libretro INFO] Creating frontend for game: hotmario

[libretro INFO] Softlists: 1

Adding monitor screen0 (640 x 480) a:1.333333

Invalid video value opengl; reverting to software

SOURCE FILE: …/…/…/…/…/src/mame/drivers/cdi.cpp


NAME: cdimono1


YEAR: 1991


cdic.bin NOT FOUND (NO GOOD DUMP KNOWN) (tried in cdimono1 cdimono1)

slave.bin NOT FOUND (NO GOOD DUMP KNOWN) (tried in cdimono1 cdimono1)

WARNING: the machine might not run correctly.

WARNING: the machine might not run correctly.

[libretro INFO] RES:1

[libretro INFO] MAIN FIRST


[INFO] SET_GEOMETRY: 384x310, aspect: 1.239.

w:384 h:310 a:1.238710

My cdmono1 folder:

cdimono1 folder

I load hotmario.zip from Retroarch gui:

Retroarch GUI for hotmario.zip

My retroarch-core-options.cfg file:

mame_read_config = “disabled”

mame_write_config = “disabled”

mame_saves = “game”

mame_auto_save = “disabled”

mame_mouse_enable = “disabled”

mame_buttons_profiles = “enabled”

mame_throttle = “disabled”

mame_cheats_enable = “disabled”

mame_alternate_renderer = “disabled”

mame_softlists_enable = “enabled”

mame_softlists_auto_media = “disabled”

mame_media_type = “cdrm”

mame_boot_to_bios = “disabled”

mame_boot_to_osd = “disabled”

mame_boot_from_cli = “disabled”

mame_altres = “640x480”

Best regards

Yes, you do have to click the play button at the CDI start screen. I have mame_mouse_enable = “enabled” and I can click my mouse to press the button, but if you have your keyboard or gamepad mapped you should be able to move the mouse with your arrow keys and just press the ‘User 1 A button (right)’ button to select it.

Also one additional note, you can also try MESS2014, using the same method. You just have to create a mess2014/hash folder and copy the same hash files into that directory. For whatever reason, I’ve found MESS2014 works better with CDI.

@zachmorris, do you know how save the inputs (general) in MESS2014?


Retroarch will auto save any changes you make when you exit or ‘Close Content’. It does for me. You may have to enable the core option ‘Write Config’ but I cant say for sure.

The config change is saved to <path_to_retroarch_saves>/mess2014/cfg/default.cfg for the Inputs (general)

The config changes for each softlist are saved to (for the CDI example) <path_to_retroarch_saves>/mess2014/cfg/cdimono1.cfg

1 Like

It worked! A lot of thanks, your help was decisive. Now I am able to run CDI games. Last questions:

A) Is mame2014 core the mess2014 core renamed? Is it right?

B) In mame core with CDI game loaded I can’t save state, is it supported in mess2014 core? Do you use save states?

C) Is it possible to load a CDI game directly without going through the CDI home screen?

Best regards.

MESS2014 and MAME2014 are different cores, but built from the same code. See here.

MESS2014 doesn’t seem to support retroarch save states either.

I haven’t been able to find a way to load the games without seeing the CDI home screen. It’s the true lackluster experience, just like the real hardware!

@zachmorris I have managed to save states correctly with MAME core but not with MESS2014 core with internal saves.

Save/load states with MESS2014 core with internal saves works?

MESS2014 loads and runs properly CDI games too. I prefer this one as you (it is smaller core than MAME core).

@zachmorris the MESS2014 didn’t create the default.cfg file, even with the option “Write Config” ON. I deleted and downloaded the core again, but it is not solved. :disappointed:

@Alex123, Just tried it, and I was able to get internal MESS2014 save states working. I have the following folder in my Retroach savefile directory:


In MESS2014, you can verify the control for save and load states is setup (the default is the same as MAME so shift+f7 to save and f7 to load). Pressing shift + f7 i got a prompt to select a save slot, so i just pressed 1. Closed the game and reopened it, hit f7 and got a prompt to load slot, pressed 1 again and it loaded from my save point. So it seems to be working just fine in MESS2014 as well. There is also a core option for auto save/load states, but I didn’t play with it.

@lfan, you might have to manually create the directory: <path_to_retroarch_saves>/mess2014/cfg/

1 Like

not with retroarch at all. on my Desktop PC I use seperated emus. on my living room nuc I only play up to 16 bit stuff.

Great so this works… unfortunately half of the instructions are really “chinese” for me. Could anyone just upload a working Mame configuration to Mega that anyone can just download and it works?

Hi Guys,

sorry for digging this old thread out of the dark.

Iam receiving strange errors when i try to play cdi games within retroarch.


[libretro INFO] Starting game:D:\Roms\Psx\cdimono1\asterix.zip [libretro INFO] Game name: asterix, Game description: Asterix (ver EAD) [libretro ERROR] System not found: cdimono1 [libretro INFO] Game name: cdimono1, Game description: CD-i (Mono-I) (PAL) [libretro INFO] Creating frontend for game: asterix [libretro INFO] Softlists: 1 [libretro INFO] RES:6 [libretro INFO] MAIN FIRST


My Folderstructure looks like:

When i start the game with the Asterix.zip file retrolaunch will crash immediately.

If i run the file in mame64.exe it works.

Please help me.

br Doxlike

i still dont have it working correclty. but maybe you will… from my experince so far with trying to do this. the only thing that has worked to get games to load that is … is this … you have to create seperate folders in the cdimono1 directory named as the dumy files and in those folders you have to place the chd file. you have to make sure that the chd file is named exactly how it is listed in the system\mame\hash\ cdi.xml file. in your case it would be RetroArch\roms\cdimonon1\asterix\ astrix chd game file. if it still does not work then its bios related and you are missing files inorder for the cdi roms to load correctly.