SiriusVI Posted August 6, 2019 Share Posted August 6, 2019 (edited) UPDATE: In order for CDi emulation to continue working, you need to get the updated cdimono1 bios file from mame. It was updated some time ago and CDi emulation on newer mame versions without the updated bios file is broken. This has been quite the ordeal, but I finally got it working, so I thought I'd share what I found out. There is some conflicting information online, so it took me a while to figure it all out. I found this discussion / tutorial written by people far more capable than me. My tutorial is based on that. I just wanted to write a more comprehensive tutorial and give some additional info (also this tutorial is technically for andriod devices, so I think it should be stated that it works for PC as well.) https://www.reddit.com/r/EmulationOnAndroid/comments/980mar/tutorial_phillips_cdi_on_android/ 1. What you need: 1.1 Retroarch's Mame core (without year tags) 1.2 This Archive: https://mega.nz/#!0OQ2zASD!UKoefHzpnsHBj79MdYRMWzdZYSv6kpPvxud0DmSSX3A (I hope I'm allowed to post this here) 1.3 CDi roms (I only tested the .chd format, but I'm pretty sure that cue/bin will also work) --> Keep in mind that there are many CDi roms that flat out don't work (more on that later) 1.4 Philips CDi bios files (mainly "cdimono1.zip", but I also have "cdimono2.zip" and "cdibios.zip". I don't know if they are needed for any games though) --> I cannot provide links to these bios files. You'll have to get them on your own. 1.5 LaunchBox, of course. 2. How to get your CDi games running: 2.1 Navigate to your main roms folder and create a folder called "Philips CD-i" (You can name the folder whatever you like, I just used the name that LaunchBox uses). 2.2 This is important: Inside the "Philips CD-i" folder, create another folder called "cdimono1". It's very important that you use this exact name. It doesn't work otherwise. 2.3 Copy all of your Philips CDi roms into the "cdimono1" folder. 2.4 Also copy your Philips CDi bios files into the "cdimono1" folder. 2.5 Download the archive from 1.2. Inside this archive you will find two more archives. Open the one called "CDI_blank.zip". Inside this archive you will find many different empty, "dummy" .zip files. These files have shortened title names for the CDi games (much like Mame roms). You'll need them so the Mame core is able to load your roms (more on that later). Copy all of these empty .zip files into the "cdimono1" folder. --> To sum up, in your "cdimono1" folder there should now be: your Philips CDi roms your Philips CDi bios files your empty .zip files 2.6 Open the archive from 1.2 again, but this time open the second archive within it called "RetroArch.zip". You don't need everything in here, just one specific subfolder: Go to "Retroatch --> system". In here, you will find a folder called "mame". Take that folder and put it in your own Retroarch directory in "YOUR_PATH\RetroArch\system\". 2.7 Download Retroarch's Mame core (without year tags) and leave all the settings at default (you can change the resolution if you want to) --> This is where misinformation held me back. There are many tutorials which tell you to change various settings, but believe me, you must keep the default settings. 2.8 Open LaunchBox and import the empty .zip files from 2.5. Important: You cannot import your CDi roms directly, it doesn't work. Unfortunately, this means that you will later have to rename all your imported roms with their actual names manually (There maybe a way to automate this, but I don't know, I just trail-and-errored my way through this). Also important: when importing, make sure that you choose retroarch as your emulator for the Philips CDi platform. --> you might want to start with just one file at first, just to make sure everything works. You can uset Hotel Mario ("hotmario.zip") for this, since I can confirm that this game actually works. If you have done everything correctly, you should have a game called "hotmario" in your LaunchBox. You can rename it to "Hotel Mario" and get all the metadata for it. 2.9 In LaunchBox, go to "Tools --> Manage emulators". Select retroarch. Go to "Associated Platforms", scroll down and add a new Associated Platform called "Philips CD-i". Choose "mame_libreto" as your core. Important: Don't add any "EXTRA Command-Line Parameters", despite what you might have read elsewhere online. --> You can now run Hotel Mario in LaunchBox and if you have done everything correctly, you should see a light blue screen. Wait a few seconds. You will then see a grey Philips CDi bios screen. Use your mouse and click "play". The game should now start. If it starts, you can import your other games. Keep in mind however, that not all of them will work. To find out which games are not supported, navigate to "YOUR_PATH\RetroArch\system\mame\hash" open the "cdi.xml" (here you can also find out which actual games the empty .zip files correspond to.) If it says something like "<software name="7thguest" supported="no">" that means that this specific game will not work, so you don't need to import it. 3. Further configuration (optional, but very much necessary in my opinion): 3.1 Since you most likely want to use a controller and not your mouse + keyboard, you'll have to map the controlls within the Mame GUI to your controller (I use an Xbox One controller). Once your game is up and running, hit TAB on your keyboard to bring up Mame's GUI. Navigate to "Input (this Machine)" and map the inputs to your controller like this: Mouse Button 1: Joy 1 B or A (your choice) Mouse Button 2: Joy 1 Y or X (your choice) Mouse X Analog: Joy 1 LX (press your left analog stick to the right) Mouse X Analog Dec: LEFT (press left on your D-PAD) Mouse X Analog Inc: RIGHT (press right on your D-PAD) Mouse Y Analog: Joy 1 LY (press your left analog stick up) Mouse Y Analog Dec: UP (press up on your D-PAD) Mouse Y Analog Inc: DOWN (press down on your D-PAD) Now go back and navigate to "Analog Controls". Reduce the two sensitivity settings drastically. "10" is a good point to start, but I found that even lower values ( 5 or even 1) are better for some games. Mouse X Sensitivity: 10 (your choice) Mouse Y Sensitivity: 10 (your choice) 3.2 Now your controlls should be mapped to your controller. However, when I did this, characters in games would start moving by themselves. This is because for some reason, the deadzone seems to be too small. If you experience this, do the follwoing: Once your game is running, press F1 to bring up retroarch's GUI. Navigate to "Settings" --> "Input" and scroll down to "Analog Deadzone". change the value from 0.0 to 0.5 (this worked for me). Important: you don't want to change this setting for all of your games or even for all platforms using the same mame core. You want this change to be in effect just when you play CDi games. So head back to "Quick Menu" --> "Overrides" and hit "Save Content Directory Overrides". This will save the changes you made just for CDi games. If the issue isn't solved for you, try increasing the deadzone value. Congratulations, you are now done! You are now able to experience a bad Mario game and three bad Zelda games (Why did I spend so much time on this?) Jokes aside, I hope this helps someone. Edited January 11, 2021 by SiriusVI 7 3 Quote Link to comment Share on other sites More sharing options...
BrainyCabde Posted September 30, 2019 Share Posted September 30, 2019 My man. This is the best guide for cdi at the moment. I got the artwork to work by renaming the title at the end of the launchbox wizard to the actual name of the game. It found all the meta data. Quote Link to comment Share on other sites More sharing options...
klepp0906 Posted October 4, 2019 Share Posted October 4, 2019 thank you for this, im going to begin working on this today. I had gleaned over it in the past, however I was deterred by the talk of softlists/dummy files/ and what seemed to be a requirement that cdi roms be named to match mames softlist and all mine are named to redump standard. anybody able to chime in as to whether or not the latter will pose a hurdle? Quote Link to comment Share on other sites More sharing options...
SiriusVI Posted December 19, 2019 Author Share Posted December 19, 2019 I've since found this plugin: No more manually renaming Mame Softlist roms =). 1 Quote Link to comment Share on other sites More sharing options...
addrand Posted January 5, 2020 Share Posted January 5, 2020 Hey, I'm using Lakka - will this work? Also, I'm having two other problems. One is how do I install a MAME core with no year tags on Lakka and Two, when I use LaunchBox and try to import files - do I select that the zip file is ROM COG DOS or other? Thanks - this will be the holy grail for me if this works! Quote Link to comment Share on other sites More sharing options...
jamai36 Posted January 10, 2020 Share Posted January 10, 2020 I only have bin/cue files, and I followed the steps to a tee - it's not working. MAME opens to 'initializing' and then retroarch crashes. The one thing I don't get is - how does it know where to look for the bin/cue, if I am using the dummy folder to add it into launchbox? What links the two steps together? I feel if anything is causing this problem, it's that. If anyone has used bin/cues for cdi (or has any insight) that would be awesome. Even though the cd-i is a trash console to most, I was actually really excited to play a few games that I gawked at as a child reading EGM's. Thanks~ Quote Link to comment Share on other sites More sharing options...
nearvanaman Posted January 11, 2020 Share Posted January 11, 2020 15 hours ago, jamai36 said: I only have bin/cue files, and I followed the steps to a tee - it's not working. MAME opens to 'initializing' and then retroarch crashes. The one thing I don't get is - how does it know where to look for the bin/cue, if I am using the dummy folder to add it into launchbox? What links the two steps together? I feel if anything is causing this problem, it's that. If anyone has used bin/cues for cdi (or has any insight) that would be awesome. Even though the cd-i is a trash console to most, I was actually really excited to play a few games that I gawked at as a child reading EGM's. Thanks~ I might be totally off on this, but I thought that only chd would work as the software list is looking for a file. For example, for "Hotel Mario" to work (per the below from the cdi.xml), you need a hotmario.zip dummy file and the file name hotel mario (1994)(philips)(eu)[!] with the sha1 checksum below. You could could use chdman to convert one of your bin/cue to chd (rename if required) and see if it works? <software name="hotmario"> <!-- Origin: TOSEC <rom name="Hotel Mario (1994)(Philips)(EU)[!].iso" size="366794400" crc="8305fbca" md5="eaba42fc6572a66cb91ceeb976595485"/> <rom name="Hotel Mario (1994)(Philips)(EU)[!].cue" size="123" crc="0a437951" md5="df72c8ced1f5d36a38c5ca2e9330062b"/> --> <description>Hotel Mario (Euro)</description> <year>1994</year> <publisher>Philips</publisher> <part name="cdrom" interface="cdi_cdrom"> <diskarea name="cdrom"> <disk name="hotel mario (1994)(philips)(eu)[!]" sha1="f24e118b807bc2479794eaa6cc35526e70be5bf0"/> </diskarea> </part> </software> Cheers. 1 Quote Link to comment Share on other sites More sharing options...
DOS76 Posted January 11, 2020 Share Posted January 11, 2020 MAME from the UI only works with the software list games which in this case would be a CHD but if you are using the command line like you would be through LB then MAME is capable of playing non official format not from the software lists. Quote Link to comment Share on other sites More sharing options...
jamai36 Posted January 12, 2020 Share Posted January 12, 2020 (edited) 17 hours ago, nearvanaman said: I might be totally off on this, but I thought that only chd would work as the software list is looking for a file. For example, for "Hotel Mario" to work (per the below from the cdi.xml), you need a hotmario.zip dummy file and the file name hotel mario (1994)(philips)(eu)[!] with the sha1 checksum below. You could could use chdman to convert one of your bin/cue to chd (rename if required) and see if it works? .... Cheers. Thanks for the reply. Yeah I thought about for a bit after and sort of came to the conclusion that sadly my cdi roms are all no good being bins. I am still very new to this whole thing so it was a really important lesson to learn. I am going to come back to the cdi soon but I kind of burnt myself out on it haha Edited January 12, 2020 by jamai36 grammar Quote Link to comment Share on other sites More sharing options...
flatuswalrus Posted April 18, 2020 Share Posted April 18, 2020 On 8/7/2019 at 7:11 AM, SiriusVI said: 2.6 Open the archive from 1.2 again, but this time open the second archive within it called "RetroArch.zip". You don't need everything in here, just one specific subfolder: Go to "Retroatch --> system". In here, you will find a folder called "mame". Take that folder and put it in your own Retroarch directory in "YOUR_PATH\RetroArch\system\". This is a great tutorial for this difficult to run platform. I just wanted to ask about the above step. In my RA's system folder I already have a 'mame' folder and a 'hash' folder in that with my xml files. Though because I am already running quite a few platforms via RA's MAME core will the ini file you included have any effect on other platforms I have setup through RA's MAME core or will it just do whatever is appropriate for the CD-i? I do not imagine it will have any unwanted consequences but I was just curious, thank you. Quote Link to comment Share on other sites More sharing options...
SiriusVI Posted April 18, 2020 Author Share Posted April 18, 2020 (edited) If you already have the hash files for a whole mame setup, you should already have the xml file for the cdi in place, so you don't need it. In fact you can skip this whole part. You don't need the ini file either. Edited April 18, 2020 by SiriusVI 1 Quote Link to comment Share on other sites More sharing options...
swaquino Posted May 24, 2020 Share Posted May 24, 2020 First of all, thank you for this awesome tutorial. I had a question about how the dummy file actually links to the rom. I followed the directions, but maybe I missed something? Whenever I click on the game in launchbox it just tries to open the dummy zip file, and 7zip gives an error. Can anyone tell me what I am doing wrong? Thanks in advance. Quote Link to comment Share on other sites More sharing options...
SiriusVI Posted June 11, 2020 Author Share Posted June 11, 2020 On 5/24/2020 at 3:29 PM, swaquino said: First of all, thank you for this awesome tutorial. I had a question about how the dummy file actually links to the rom. I followed the directions, but maybe I missed something? Whenever I click on the game in launchbox it just tries to open the dummy zip file, and 7zip gives an error. Can anyone tell me what I am doing wrong? Thanks in advance. So sorry for the late reply. I've taken a little break from Launchbox, since I've been a little bit too obsessive in the past months. I'm not entirely sure how the dummy files link to the actual roms. The only thing I do know is that dummy files, the cdimono1.zip (bios), and the roms have to be inside the same folder and the .xml file for the cdi needs to be in place inside the specific retroarch directory. I don't know where you went wrong, but I suggest setting up everything from scratch. Maybe you just made a small mistake along the way. If it doesn't work the second time, please contact me again. What kind of error does 7zip give you? Quote Link to comment Share on other sites More sharing options...
Mundee Posted June 19, 2020 Share Posted June 19, 2020 (edited) This is the closest I have gotten. Thank you! Still, hotmario.zip just freezes or crashes retroarch mame core. But at least it is doing something now. Edit: Must be a bad filename or rom on that one. This Worked! Thanks again. The other info on this did not work for me. https://cdii.blogspot.com/2019/07/tutorial-how-to-set-up-mame-cd-i.html Edited June 19, 2020 by Mundee Quote Link to comment Share on other sites More sharing options...
FuriousPig Posted June 22, 2020 Share Posted June 22, 2020 (edited) Just for the record I managed to set up the Philips CDi rather painlessly & with very little problem. It was the very first emulator I set up in both RetroArch & LaunchBox and this factor was the key to my success & failure setting up other systems further down the line. I did not use dummy files & I did import the ROMS directly into LaunchBox. The key to getting the CDi working in MAME is the following options need to be made: 1) Enable softlists (OFF) 2) Media type (cdrm) 3) Boot from CLI (ON) The problem (for me) was the first option. Obviously this works for the CDi but soflists need to be on for just about everything else. I was not aware of this at the time & the author of one of the tutorials I read incorrectly stated this does not effect anything else. It really does! The upshot of all this is I have a completely different RetroArch/MAME setup for the CDi & another for everything else. flatuswalrus quite correctly stated that you should be able to set up an directory override for a more elegant solution using one RetroArch installation, but I could not get it to work. Edited June 22, 2020 by FuriousPig Quote Link to comment Share on other sites More sharing options...
ZXman1000 Posted July 24, 2020 Share Posted July 24, 2020 (edited) I have tried following this tutorial 3 times and my RetroArch always does the same thing when booting a game. RetroArch window pops up then re-sizes to smaller window and a black screen with a small pixilated blue box with word Initializing.. gets stuck on screen and the window reports RetroArch MAME 0.222 (Not Responding) and I have to close it. I have tried it with various titles but been focusing on Hotel Mario since this is a title known to work. Any suggestions? Or ideas as why this would be happening on my set up? Edited July 24, 2020 by ZXman1000 typo Quote Link to comment Share on other sites More sharing options...
FuriousPig Posted July 24, 2020 Share Posted July 24, 2020 If you wish to pursue the method of using softlists then there is also a more in depth tutorial here: https://cdii.blogspot.com/2019/07/tutorial-how-to-set-up-mame-cd-i.html If you still have no success then I will try & find the original tutorial I used which does not use Softlists but still uses RetroArch. I have a feeling a saved it off somewhere. Quote Link to comment Share on other sites More sharing options...
MuddyWaters79 Posted October 1, 2020 Share Posted October 1, 2020 Anybody have any luck getting Philips CD-i to run in MAME? I watched the Launchbox tutorial with MESS. I use MAME and I have the cmd line parameters set and bios in place. Although I only have the 200 and 220b.rom bios. Not sure about the 220.rom which was mentioned in the video. I am also using a newer version of RetroArch which does not have the mame core any longer... The oldest is 2003... Quote Link to comment Share on other sites More sharing options...
sundogak Posted October 2, 2020 Share Posted October 2, 2020 2 hours ago, MuddyWaters79 said: Anybody have any luck getting Philips CD-i to run in MAME? I watched the Launchbox tutorial with MESS. I use MAME and I have the cmd line parameters set and bios in place. Although I only have the 200 and 220b.rom bios. Not sure about the 220.rom which was mentioned in the video. I am also using a newer version of RetroArch which does not have the mame core any longer... The oldest is 2003... For standalone MAME see these threads: But quick setup is to add the default command cdmono1 -cdrom in your MAME setup. Quote Link to comment Share on other sites More sharing options...
DeadVoivod Posted November 4, 2020 Share Posted November 4, 2020 (edited) I also got it running, but again in a different way, kinda merging the different tutorials. Testing ROM was Hotel Mario (hotel mario (1994)(philips)(eu)[!].chd). The .chd file is from the Software List CHDs, but I don't know if that really matters, at least that was the version I tested. I'm using MAMEUI64 v210 as standalone emulator. Tested first with the command line mameui64 cdimono1 -skip_gameinfo hotmario which worked fine. Setup the controls like in SiriusVI's post, works fine, I only had opposite left/right/up/down combinations. One thing to mention is that you should remove the LCD screen, in video options set it to main screen (4:3) and not main screen + LCD, that omits the CD-i logo on the top part of the screen. Created in the MAME root directory a folder called consoles\cdi\hotmario and copied the Hotel Mario .chd into it. The cdimono1 BIOS file is in the MAME roms folder. Also had to copy the empty .zip file hotmario into that folder, otherwise it won't work. In LB I pointed the launcher to the hotmario.zip, and not the .chd file. Under manage emulators I edited MAME and added Philips CD-i to associated platforms with the cdimono1 - cdrom command line parameter. Edited November 4, 2020 by DeadVoivod Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.