[Tutorial] CD-I Emulation in RetroPie via lr-mess (warning: slowdown, especially during FMV, but surprisingly playable)
-
Here's a discovery I made that I was gonna put in my own lr-mess tutorial, but since that didn't really work out well I'm gonna put it here instead:
MESS works differently from a standard emulator, in that it can only load ROMs that are confirmed to be "authentic", instead of just taking any data you give it and reading it blindly. The way it checks this is by using a checksum located in a hash file. For example, let's say I wanted to load Breakout for the Atari 2600 in MESS. In the hash file for the Atari 2600, Breakout's entry looks like this:
<software name="breakout"> <description>Breakout - Breakaway IV</description> <year>1978</year> <publisher>Atari</publisher> <part name="cart" interface="a2600_cart"> <dataarea name="rom" size="2048"> <rom name="breakout - breakaway iv (paddle) (1978) (atari, brad stewart - sears) (cx2622 - 6-99813, 49-75107).bin" size="2048" crc="3037638c" sha1="8d473b87b70e26890268e6c417c0bb7f01e402eb" offset="0" /> </dataarea> </part> </software>
The important parts of this entry are the
<rom>
tag and<software name>
tag. The former is what's used for the ZIP's file name, and the latter is what's used for both the ROM dump and the checksum MESS checks.Because of this, the only valid ROM that MESS will accept is a ZIP file named
breakout.zip
, containing a file namedbreakout - breakaway iv (paddle) (1978) (atari, brad stewart - sears) (cx2622 - 6-99813, 49-75107).bin
with the CRC-sum of3037638c
and a SHA1-sum of8d473b87b70e26890268e6c417c0bb7f01e402eb
.What this means is that you can simply check the hash files to see if you have valid ROM files, as well as check whether or not a system can run on lr-mess. And if you don't? Well, you can just modify the hash files to match your file, or if the system isn't supported, drag in a new XML from a newer build of MAME/MESS.
I discovered this when I was trying to get the FM Towns version of Marble Madness to run on lr-mess, only to find that Marble Madness wasn't included in the
fmtowns_cd.xml
file, and that adding it allowed the game to load.The hash files are located in
/home/pi/RetroPie/BIOS/mame/hash
if you want/need to modify them. ;) -
I created a file hotmario.zip with inside hotel mario (1994) (philips) (eu) [!]. chd
corresponding sha1
same error :( -
@hermit Hrm, I'm looking at your logs and you appear to be using lr-mess2016. Have you tried with just plain-jane lr-mess instead? lr-mess2016 always breaks when I try to use it.
-
it does not allow me to install. tells me that I miss the gcc 5.0
-
@hermit The start of the topic specifically mentions Raspbian Stretch - so if you haven't upgraded to it (using the 4.4 RetroPie image), you won't be able to install
lr-mess
. -
I used the function to update everything, but nothing has changed
do I have to use any particular function? -
@hermit said in [Tutorial] CD-I Emulation in RetroPie via lr-mess (warning: slowdown, especially during FMV, but surprisingly playable):
do I have to use any particular function?
No, as I said, you need the new image based on Raspbian Stretch, updating from RetroPie-Setup will not get you the new OS. Or, if you feel adventurous, you could use
apt-get
to upgrade from Jessie to Stretch - https://retropie.org.uk/forum/topic/16145/retropie-upgrading-raspbian-jessie-to-stretch. Note that the recommended way is to install the image from scratchFor RPI users it is recommended to start from a fresh image with this update. It is possible to upgrade the system from Jessie to Stretch but there have been reports of issues by some people when doing so.
(from https://retropie.org.uk/2018/04/retropie-4-4-is-released)
-
the update was not successful :(
I'll try with a new image. I will update you :)
thanks for everyone for the help -
@victimrlsh There are some good games on CD-i. Lords of the Rising Sun was one of my favorites. The Space Ace port was probably the best I've seen, other than the new PC ones. Ceasar's World of Boxing was also pretty good. Burn Cycle is another one that saw a lot of play time. And I still remember my whole family playing The 7th Guest together. Those were good times.
I remember Chaos Control, Escape From Cyber City, and Mad Dog McCree being pretty fun. Although Escape from Cyber City was impossibly hard. The zelda games aren't the best, but they're not complete garbage either. They did something different, and I enjoyed them well enough as a kid. If you go in with a super negative opinion, the game may even surprise you. -
@liquiddivide My favorite laser disc game was Cliff Hanger, which was pieced together from the Lupin III movie The Castle of Cagliostro. I highly recommend both the movie and the game.
-
@victimrlsh I'll have to give that one a try. Never heard of it.
-
@liquiddivide Just make sure your suspension of disbelief is high enough to surpass the laws of physics...
-
@db666 what you posted for windows is same result as posted in the guide and works under ES and emulators.cfg
:-) -
Figured I should necro-bump this thread with a bit of an update: since the Pi 4 is now officially supported by RetroPie as of 4.6 (even if it's only considered in a beta phase), I decided to test lr-mess with CD-i and I can confirm it now runs full-speed, at least with Hotel Mario. :)
I should note that I did overclock to 1.75ghz, but I don't think that is necessary to achieve fullspeed CD-i emulation in lr-mess (though I've yet to test without an overclock).
-
Another way to run CD-i (cdimono1) with MAME standalone (like MESS without Lr)
go in /opt/retropie/configs/cdimono1
open your emulators.cfgadd:
mame-CD-i= "/opt/retropie/emulators/mame/mame -c -autoframeskip cdimono1 -cdrm %ROM%"
To set your "Input (general)" and "Input(this Machine), follow step 10 and 11 of this Tutorial.
Tutorial: Handheld and Plug & Play systems with MAMEYou can use .chd without specific MAME naming and without dummy file.
-
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.