Here's a quick explanation of how I got Philips CD-i to run on Odroid XU4 with OGST image using CHD files. You can do the same thing to get Neo Geo CD running too but I have problems (see bottom). There's a lot of posts explaining how to do this on a ton of systems/OS's and I pieced this all together from others' methods. I can't throw each of them a bone so thanks to all of them. The emulator that seemed to work best for me so far is mess2014 but mame (no year) will work too. Mame just cuts off 1/5 at the top of the screen and prints a jacked up looking “CDI” and Mess is full screen. May be changeable?
For CD-I, CHD files must be in your roms folder, in a folder called
cdimono1 with BIOS file cdimono1.zip as well (There are at least 2 diff
versions of that BIOS and the one that's 468.7kb is the one I got to
work). The folder name and BIOS file name match for a reason so double
check.
Now to the somewhat convoluted part...you must get a cdi.xml hash file,
create dummy zip files with the MAME style names used in said .xml, and
change the names of your CHD's to fit what is in the .xml as well. I can hear you about to say “Screw that” but:
There is an archive page with CHD files already named correctly (Hint
MESS 0.149) and a page with .zips of premade dummy files and .xml hash
file together (Hint cdii.blogspot) so it ain't really that bad if you
download all of those files.
Otherwise...for example, the cdi.xml hash file is set up like this for each game:
Code:
<software name="jokers">
<!--
Origin: TOSEC
<rom name="Joker's Wild!, The (1994)(Philips)(US)[!].iso" size="647388000" crc="633d2fec" md5="40c77801cbfba93d42d4bc00fec79a68"/>
<rom name="Joker's Wild!, The (1994)(Philips)(US)[!].cue" size="130" crc="5082d284" md5="7581ed503c07f1121eedb41667ff2f21"/>
-->
<description>The Joker's Wild! (USA)</description>
<year>1994</year>
<publisher>Philips</publisher>
<part name="cdrom" interface="cdi_cdrom">
<diskarea name="cdrom">
<disk name="joker's wild!, the (1994)(philips)(us)[!]" sha1="a5609953241b49d64bfdfd671edfdffc93b4b3dd"/>
</diskarea>
</part>
</software>
The SOFTWARE NAME and DISK NAME are all that really matter here. If you found the premade dummy zip file pack referanced above, skip to the next paragraph. To create your own dummy zips, right click in your cdimono1 folder, select create document, select empty and, in this example, name it jokers.zip as noted by the software name entry above.
If you downloaded the correctly named CHD game files stated above, skip
to the next paragraph (remember that all the CHDs have to be in the
cdimono1 folder with no subfolders). Otherwise, change the name of your
CHD game file to what it says in the DISK NAME entry. This one would
be “joker's wild!, the (1994)(philips)(us)[!].chd” which is the same
format as the iso and cue but it seems the use of capitol letters
creates problems in the emulator.
Now that everything is named the way it has to be, create a folder
called hash in your “ROMs/mess2014” folder (or “ROMS/mame” for mame).
If you've never ran mess before you won't have that folder in there
already so create that too obviously. Place the cdi.xml file you
downloaded earlier in the new hash folder.
For instance: /home/odroid/ROMS/mess2014/hash/cdi.xml
Now you may be able to launch using RA or ES (after changing your cfg
file to tell it to run CDI Roms with mess2014) but running via terminal
is best to see what may be going wrong (good idea for any emulator
you're struggling with). It will tell you at the end of the script if
your BIOS is incorrect by stating “cd200.rom NOT FOUND (tried in
cdimono1 cdimono1)”. It'll pop up errors for cdic.bin and slave.bin but
that's normal as there are currently no versions availible. Thanks to
Meveric's shell script, all you have to type into terminal is:
Code:
libretro-xbmc mess2014 “/home/odroid/ROMS/cdimono1/jokers.zip”
It is calling for the dummy zip file which will lead it to your CHD via
the xml hash file. It seems to hang on a turquoise screen but the CDI
screen will come up soon enough. Controllers will not work and your
keyboard up and down arrows will probably be all that does do anything,
so hit TAB which will get you into simple Mess/Mame options. Choose
“Input (For this machine)” to set up controls (will have to for each
game you run the first time unless you wanna screw up all arcade
controller settings). I set it this way for my wired Xbox 360
controller but I'd imagine it's the same for any:
- Mouse button 1: A
- Mouse button 2: B
- Mouse X Analog: n/a
- Mouse X Analog Dec: Left
- Mouse X Analog Inc: Right
- Mouse Y Analog: n/a
- Mouse Y Analog Dec: Up
- Mouse Y Analog Inc: Down
Select “return to machine” and you're ready to rock. There are some games that just don't work so make sure you're trying to play a compatible title before you freak out. There is, aparently, a hard to emulate video chip so games like Creature Shock won't work (luckily it's on several other systems). I am sad the Monty Python titles won't work until someone smarter than me creates an actual emulator for it, though I don't see that happening. I was about to pull my hair out working on this, as I'm sure some of you have and gave up. Enjoy this strange little machine and it's odd array of games!
I can't thank Meveric enough for the work he's
done and continues to do!
[Contributed by: emptyinside]