Since a few years MAME has a driver for the CD-i but support is incomplete, as it still doesn't emulate the Digital Video Cartridge (DVC) as of July 2019. That means games that require it like 7th Guest, Atlantis - The Last Resort, Creature Shock, Dragon's Lair and Lost Eden are unsupported. However, MAME is much easier to control, and its audio emulation is actually better than cdifan's CD-i Emulator in some cases. Starting the game from disc is recommended; this can be done with the built-in frontend by picking the specific game or through a soft reset after mounting the disc. It also has a libretro core, which makes it the easiest and the most stable method of emulating the CD-i currently.
Follow these steps to get MAME running:
Remark 1: The regular CHDs are the game images you would play in an arcade, and the Software List CHDS are game images that you would play at home on a console or computer. Meaning 'Software List' is just another name for 'MESS'.
Remark 3: If you have both Arcade and the CD-i (or other console) in your associated platforms, you should set up a different entry because they have different check box requirements in Launchbox. For some, creating a separate Mame emulator with the check boxes removed is a solution to get it working. (you have to uncheck in the emulator settings for mame/mess the boxes for "Don't use quotes"& "Use file name only"& "No spaces before rom")
Remark 4: Per MAME/MESS setup for the machine these are the only extensions that will work with the cdimono1 machine (via -listmedia) : .chd .cue .toc .nrg .gdi .iso .cdr
4. --- Start the (old/classic) command prompt, navigate to your MAME folder and type the following command without quotes: "mame64 -createconfig" (This will create the ini files needed to tell mame where to look for the files)
Remark: When booting a game it will stay at an "aqua" colored screen for about 20 to 30 seconds. Clicking will not speed it up. Remember it is emulating the 1.0x DVD player speeds so everything takes awhile. It then should go to the "Philips" screen. You will see a "Play" button in the middle right of the screen next to the "Play CD-i" text. Use your mouse to move the cursor over to the triangle/play button and click on it to run. Don't move your mouse too fast at first or it can zoom across off screen and appear to be "hidden". Move slow and should see black cursor on screen.
1. --- To start, be sure you have downloaded the latest MAME 64 bit version, check it out here. (Currently it is at v0.211b)
2. --- Your console BIOS files are located in the folder titled "roms" and you have a file called "cdimono1.7z" (Your CD-I Bios for PAL device - the only one that MAME currently lists as WORKING, you can download it here (if the link does not work anymore, google "cdimono1.7z" and you will find several sources. cdimono1 is the only MAME machine that works currently and is listed as "imperfect" on sound and graphics. Basically this means some games will not work. The cdi490a, cdi910, cdimono2 machines are non-working. They will get stuck at the "aqua" boot up screen. Also found sound on some games was "crackly" and mouse sensitivity was very high/controls erratic. )
3. --- You have downloaded the MAME Software list (CHD preferably) torrent (to get cd-i to work with mame the files need to be in .chd format , if you are having trouble with bin/cue you can convert your files, check this link, or use chdman.exe that was included in MAME since version 206.) In principle, bin/cue is also supported. In practice, try v0.206 via Usenet, find the torrent here. But it's better to browse the list and find the latest one yourself.
-------------------------------------------------------------------------------------
The best way to get this software list is via a torrent. Look for 'SoftwareListCHD';
A--- Grab the torrent file and save it not open it.
A--- Grab the torrent file and save it not open it.
B--- Open two file explorer windows side by side. One contains the torrents you just downloaded the other you use to first open TorrentChecker then you change it over to your 'Philips CD-i' folder where you have your ROMs CHDs and Software Lists in their own folders.
C--- From there you go into each folder and copy the path paste that in torrent checker
D--- Go back to the download folder and drag the torrent on to TorrentChecker and run the process. It produces a nice little notepad file listing every thing that is either missing or wrongly sized and it removes unwanted files.
E--- Open the torrent in QBittorrent and since you have it set to manual on one of the settings it lets you go through the files in the torrent and download what you want and then download them to your updates folder.
F--- Do this to skip the checking that the application does and it will just install the files without checking and this really saves a ton of time instead of trying to check it against all the files you already have (especially for the CHD and SoftwareListCHD torrents)
Remark 1: The regular CHDs are the game images you would play in an arcade, and the Software List CHDS are game images that you would play at home on a console or computer. Meaning 'Software List' is just another name for 'MESS'.
Remark 2: Your console games are in a folder with the title "consoles" and your Philips CD-I files are in "consoles/cdi" and each game has its own folder containing the CHD's. So for example, a game called "Battleship" resides in the folder "consoles/cdi/bship". If you can't get it to work: One solution is to simply throw everything into \roms. It's the least organized way to do it, but it will work, and MAME will be able to tell everything apart.
Remark 3: If you have both Arcade and the CD-i (or other console) in your associated platforms, you should set up a different entry because they have different check box requirements in Launchbox. For some, creating a separate Mame emulator with the check boxes removed is a solution to get it working. (you have to uncheck in the emulator settings for mame/mess the boxes for "Don't use quotes"& "Use file name only"& "No spaces before rom")
Remark 4: Per MAME/MESS setup for the machine these are the only extensions that will work with the cdimono1 machine (via -listmedia) : .chd .cue .toc .nrg .gdi .iso .cdr
-------------------------------------------------------------------------------------
OK, when you have the downloads, let's continue with the installing: (as example, we take the CD-i game Battleship, with the CHD's in "consoles/cdi/bship"
4. --- Start the (old/classic) command prompt, navigate to your MAME folder and type the following command without quotes: "mame64 -createconfig" (This will create the ini files needed to tell mame where to look for the files)
5. --- Open mame.ini within the main mame folder and change the following line 'rompath roms' to 'rompath roms; consoles'Save and exit your text editor.
6. --- From a command prompt, in the mame folder, simply type the following command (without quotes) - "mame64 cdimono1 -skip_gameinfo bship" and after a couple of seconds it will display a message about device accuracy not being 100%, hit (see below) any key and it will display a light blue screen for a couple of seconds then it will show the philips CD-I Menu, if you click "Play CD-I" it will launch your game!
Remark: When booting a game it will stay at an "aqua" colored screen for about 20 to 30 seconds. Clicking will not speed it up. Remember it is emulating the 1.0x DVD player speeds so everything takes awhile. It then should go to the "Philips" screen. You will see a "Play" button in the middle right of the screen next to the "Play CD-i" text. Use your mouse to move the cursor over to the triangle/play button and click on it to run. Don't move your mouse too fast at first or it can zoom across off screen and appear to be "hidden". Move slow and should see black cursor on screen.
Hopefully this is straight forward enough and we will help anyone struggling to find their way.
Please note: If you see this message above, this is just a standard message saying that there are known issues with the emulation. The Mame devs put that sort of message on lesser well emulated systems so that end users are aware that there are issues before coming to them saying "hey, your emulation is wrong here".
CD-i games that currently work in MAME CD-i Emulator:
1. --- Link - Faces of Evil (seems 100%)
2. --- Zelda - Wand of Gamelon (seems 100%)
3. --- Zelda's Adventure (Seems 100%)
4. --- Hotel Mario (Seems 100%)
5. --- The Apprentice (Plays well, has few discolorations during title, just little tearing in gameplay)
6. --- Pac-Panic (seems 100%)
7. --- Backgammon (Seems 100%)
8. --- Caesar's World of Gambling (Seems 100%)
9. --- Pinball (Seems 100%)
10. --- Connect 4 (Seems 100%)
11. --- Golden Oldies 1 (Seems 100%)
12. --- Golden Oldies 2 (Seems 100%)
13. --- Lemmings (Seems 100%)
14. --- Merlin's Apprentice (Seems 100%)
15. --- Micro Machines (Seems 100%)
16. --- Space Ranger (Seems 100%)
17. --- Tetris (Seems 100%)
18. --- Text Tiles (Seems 100%)
19. --- Zenith (Seems 100%)
Every commercial game that we've tried that does NOT use the DVC will boot. About half of the games we can get to run have some sort of issue. For example, Burn Cycle is unplayable because the audio is so choppy (unknown problem for now). (I'll update the list of compatible CD-i software when I have found more compatible CD-i titles)
7. --- Backgammon (Seems 100%)
8. --- Caesar's World of Gambling (Seems 100%)
9. --- Pinball (Seems 100%)
10. --- Connect 4 (Seems 100%)
11. --- Golden Oldies 1 (Seems 100%)
12. --- Golden Oldies 2 (Seems 100%)
13. --- Lemmings (Seems 100%)
14. --- Merlin's Apprentice (Seems 100%)
15. --- Micro Machines (Seems 100%)
16. --- Space Ranger (Seems 100%)
17. --- Tetris (Seems 100%)
18. --- Text Tiles (Seems 100%)
19. --- Zenith (Seems 100%)
Every commercial game that we've tried that does NOT use the DVC will boot. About half of the games we can get to run have some sort of issue. For example, Burn Cycle is unplayable because the audio is so choppy (unknown problem for now). (I'll update the list of compatible CD-i software when I have found more compatible CD-i titles)
Finally, some more tips if things seems not to work:
Tip 1. --- Test your MAME setup using command line in DOS CMD window. This will help if something is amiss with your setup or command is incorrect since you can see the error. Once you get working then setup in LB. An example command I used to test by going to the MAME directory and running is at end of post. Adjust your path accordingly. The command below is identical for CUE files . Again, handy to test and see what is going on if getting black screens. Note you will see in the CMD window that CDIC.BIN and SLAVE.BIN have "NO GOOD DUMP KNOWN" errors. You will get those even with games that work. These files are associated with the cdimono1 machine.
Tip 2. --- When booting a game it will stay at an "aqua" colored screen for about 20 to 30 seconds. Clicking will not speed it up. Remember it is emulating the 1.0x DVD player speeds so everything takes awhile. It then should go to the "Philips" screen. You will see a "Play" button in the middle right of the screen next to the "Play CD-i" text. Use your mouse to move the cursor over to the triangle/play button and click on it to run. Don't move your mouse too fast at first or it can zoom across off screen and appear to be "hidden". Move slow and should see black cursor on screen. I have looked and haven't found anything that skips this step. If the aqua boot screen stays up for longer than 45 seconds to 60 seconds, then the game is broken and will not work in MAME.
Tip 3. --- Some games you will get an error splash screen that says something along lines of "you need a Digital Video Cartridge to play this game". MAME does not emulate this currently. 7th Guest, Space Ace and Mad Dog Mcree are good examples of games that will boot but cannot run without the DVC since they need the MPEG1 decoder in the DVC to run. Edit: see link on MAME Developer site on this issue.
Tip 4. --- Unless you do substantial remapping in MAME, this emulator is setup for keyboard and mouse input with mouse doing most of work. Clicking button mouse on many games is like "Start" on controller.
Tip 5. --- Once booted into a game, you will notice a digital/LCD looking "CD-I" at top screen. You can remove that by going into the setup menu in MAME. So TAB, Video Options and then select MAIN SCREEN only and not Main + LCD. Basically, MAME is also emulating the LCD screen on the front of the CD-i player which is basically useless for our purposes. It should save the setting in your CFG file so you won't have to do on subsequent games.
Tip 6. --- Once you know things are working then you can go back into LB and under the MAME emulator and enter into Philips CD-i associated platform command-line parameters: cdimono1 - cdrom
Please do not hesitate to ask questions if it still is not working. You can comment in the blog, or go to our Facebook page to comment.