Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

Retropie Phillips CD-I setup Windows / Ubuntu



  • lr-mess and other mame emu need to load roms from specific directory names so are the roms. You also need to have the right xml which also need to match the rom's hash.

    it's pretty complicated to setup but i did it for phillips cdi. once i got that to work it was pretty trivial to get the other systems to work.

    This is what i've done on windows:

    clone a lr-mame / mess config and rename it to the system you need in this case if I remeber right i used mame-libretro as a base

    so cp that folder as cdimono1

    after this you need to setup some scripts

    es_systems.cfg
    
    <system>
        <name>cdimono1</name>
        <fullname>Philips CD-I</fullname>
        <path>~.emulationstation\roms\cdimono1</path>
    	<extension>.txt</extension>
    	<command>%HOME%\.emulationstation\systems\retroarch\retroarch.exe -L %HOME%\.emulationstation\systems\retroarch\cores\mame_libretro.dll %HOME%\.emulationstation\roms\cdimono1\%BASENAME%.txt</command>
    <!--	<command>%HOME%\.emulationstation\systems\retroarch\scripts\cdimono1.bat %BASENAME%</command> -->
        <platform>cdimono1</platform>
        <theme>cdimono1</theme>
    </system>
    
    x:\\emulationstation\configs\cdimono1\emulators.cfg
    
    mame_libretro = "/opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-mame/mame_libretro.so --config /opt/retropie/configs/cdimono1/retroarch.cfg /home/gameuser/RetroPie/roms/cdimono1/%BASENAME%.txt"
    default = "mame_libretro"
    
    cdimono1.bat
    
    @ECHO OFF
    
    :: We need to set some variables for our rom path. Edit accordingly.
    :: You can edit the folders if needed but usually all es installations are similar. 
    :: Use %BASENAME% without quotes to strip the rom name from the full path in es_systems.cfg.
    
    SET ROMPATH=%~d0\emulationstation\.emulationstation\roms\cdimono1\
    
    :: Accept the %BASENAME% argument from es_system.cfg command section.
    SET arg1=%1
    
    :: This command doesn't need to be change since it's portable for any version of es. 
    :: %~d0 is simply the system variable to identify the drive letter where the bat file resides.
    :: This is the exact same command use originaly in es_systems.cfg execpt we feed mame_libretro 
    :: core the correct ROMPATH structure it needs to find our cdimono1 driver.
    :: A simpler way would be to put this command line directly in es_systems.cfg like so
    :: <command>%HOME%\.emulationstation\systems\retroarch\retroarch.exe -L %HOME%\.emulationstation\systems\retroarch\cores\mame_libretro.dll %BASENAME%.txt</command> 
    :: I have not tested it but cdimono1 doesn't deserve all that work to be honest :P. Once I've tested 
    :: I saw right away why this console never sold out lol.
    
    %~d0\emulationstation\.emulationstation\systems\retroarch\retroarch.exe -L %~d0\emulationstation\.emulationstation\systems\retroarch\cores\mame_libretro.dll %ROMPATH%%arg1%.txt
    

    I also have that setup working on my custom build ubuntu retropie box:

    /opt/retropie/configs/cdimono1/emulators.cfg
    
    mame_libretro = "/opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/configs/all/retroarch/cores/mame_libretro.so --config /opt/retropie/configs/cdimono1/retroarch.cfg /home/media/RetroPie/roms/cdimono1/%BASENAME%.txt"
    default = "lr-mess"
    lr-mess = "/opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-mess/mess_libretro.so --config /opt/retropie/configs/cdimono1/retroarch.cfg %ROM%"
    
    

    In both cases i got this to work with .chd files

    what you need is to create in the rom directory an empty file ex. : alice.txt
    This match the name convention mame expects .
    This file need to be accompanied with the rom in chd format:

    media@mediaroom:~/RetroPie/roms/cdimono1$ ls -la | grep alice
    -rwxrwxrwx 1 nobody nogroup 378446970 Sep  9  2018 alice in wonderland (1992)(philips)(us)[!].chd
    -rwxrwxrwx 1 nobody nogroup         0 Sep  9  2018 alice.txt
    
    

    es_systems.cfg

        <name>cdimono1</name>
        <fullname>Philips CD-I</fullname>
        <path>~/RetroPie/roms/cdimono1</path>
        <extension>.txt .TXT</extension>
    <!--    <extension>.chd .zip .bin .cue .CHD .BIN .CUE .ZIP</extension> -->
        <command>/opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ cdimono1 %ROM%</command>
        <platform>cdimono1</platform>
        <theme>cdimono1</theme>
      </system>
    
    

    This is only some references notes to how to setup things it's not meant a a real "how to" guide but most of what you need to get this system working is in this page.

    I will try to clean up and make this into a proper guide.



  • I'd love to see a set of complete instructions for this. I've always been curious about the system


  • Global Moderator



  • @mitu Thanks for this. This wasn't when I did the setup last year. Good infos for sure.



  • @simpleethat I garantee nothing but I will try to clean up this post soon.



  • Hi @db666

    Does your setup work with Mad Dog McCree CDI?

    If so does it support the mouse to act as the Lightgun?

    Best regards

    Mr Lightgun



  • For what i know lr-mess does not emulate DVC (Digital Video Cartridge).
    Mad Dog McCree CDI will not run because it uses DVC.
    In your home/pi/RetroPie/BIOS/mame/hash/cdi.xml you can find the titles that are using or are not using DVC.



  • Re: retropie load, I noticed that your emulators.cfg has a line for "mame_libretro", the path "/opt/retropie/configs/all/retroarch/cores/mame_liretro.so" does not exist on my system. Actually there is nothing in the /opt/retropie/configs/all/retroarch/cores folder.

    What emulator are you using to to make this appear? Can this be downloaded from the package manager?

    Note: The problem I am running into is when trying to run a game (as .chd or .zip) The game starts to a screen with blurry lettering on the screen (I think it says "initializing" or something to that nature, not sure cant read it), and freezes the retropie. I took at look at /dev/shm/runcommands.log, and it shows that the system cant find some files and fails to load, any ideas?

    cdi200.rom NOT FOUND (tried in cdimono1 cdimono1)
    cdic.bin NOT FOUND (NO GOOD DUMP KNOWN) (tried in cdimono1 cdimono1)
    slave.bin NOT FOUND (NO GOOD DUMP KNOWN) (tried in cdimono1 cdimono1)
    Fatal error: Required files are missing, the machine cannot be run.



  • @db666
    I have created a script to install Philips_CD-I on (l)ubuntu/raspbian.
    See topic :
    https://retropie.org.uk/forum/topic/3999/philips-cd-i/13



  • @Folly Nice job thank you for this.



  • @db666
    You're welcome.
    Glad to hear my script is being used :)

    For your information, @valerino also made a script for Philips CDI.
    https://retropie.org.uk/forum/topic/25576/new-scriptmodules-lr-vice-xvic-gsplus-proper-lr-mess-integration
    (I did not test that script, it seems it lacks things like mouse, joystick and fullscreen support.
    But it seems that he figured out that short named files are not necessary anymore)
    It should be nice if the knowledge of both scripts could be combined in the future.



Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.