By /robex/, March 2018. Back to Articles and Guides
The purpose of this guide is to explain how to emulate Philips CD-i games using MAME 0.196 (as of March 2018) or higher. This guide was tested on Windows, however it should work in Linux as well.
An alternative would be using cdiemu, however it's buggy, non-free and development has been stalled since 2011.
We'll use MAME in order to emulate the CD-i. First, download the latest binary from here, and install it wherever you want.
The other files that you'll need are:
First, drop the BIOS file (cdimono1.7z, don't decompress it) inside of roms, and create the following folder: consoles\cdi. All paths specified here begin at mame's root directory.
Then open a command prompt and run the following command: mame64 -createconfig. This will create the .ini files required by mame to look for the games. Open mame.ini and change the following line
rompath roms...to:
rompath roms;consoles
For mamecdi to run the game, it requires a .chd archive containing the game files, however, I've only been able to find the cue and iso/bin files online. Luckily, mame provides a program called chdman to perform the conversion between those.
The .chd must have a specific file name, to find it out you can try to run the game like this (you can find the list of names to put here, mirrored from progrettoemma.net):
mame64 cdimono1 hotmario...this will produce an error (it's okay!) and then it will output the required filename:
hotel mario (1994)(philips)(eu)[!].chd NOT FOUND Fatal error: Required files are missing, the machine cannot be run.
To convert the file, run the following command on the prompt, from mame's root directory (it can take a while to finish):
chdman createcd -i consoles\cdi\<yourgame.cue> -o consoles\cdi\<yourgame.chd>Note that yourgame.chd must have the filename specified before, so for Hotel Mario the previous command would be:
chdman createcd -i "consoles\cdi\Hotel Mario.cue" -o "consoles\cdi\hotel mario (1994)(philips)(eu)[!].chd"Now all you have to do is check that the file is indeed there, and we're ready to run the game!
From mame's root dir, run the following command:
mame64 cdimono1 -skip_gameinfo hotmario
It will display a warning about accuracy, just hit any key, press the "Play CD-i" arrow and you should be running your game of choice!
Just for fun, here is a comparison between the audio quality of cdiemu and mamecdi, in the intro of Hotel Mario:
cdiemu, version 0.5.3 (keep in mind, this is the paid version and it sounds better than the publicly available one):
mamecdi, mame version 0.196:
Pretty noticeable, isn't it?