Retropie Phillips CD-I setup Windows / Ubuntu
db666 last edited by db666
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
<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>
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"
@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:
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
<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.
simpleethat last edited by
I'd love to see a set of complete instructions for this. I've always been curious about the system
@simpleethat there's an old topic on the Libretro forums with details - https://forums.libretro.com/t/guide-play-non-arcade-systems-with-mame-or-mess/17728.
db666 last edited by
@mitu Thanks for this. This wasn't when I did the setup last year. Good infos for sure.
db666 last edited by
@simpleethat I garantee nothing but I will try to clean up this post soon.
MrLightgun last edited by
Does your setup work with Mad Dog McCree CDI?
If so does it support the mouse to act as the Lightgun?
Folly last edited by
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.
OMGZwhitepeople last edited by OMGZwhitepeople
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.