Daphne Setup Tutorial (Dragon's Lair, Space Ace, etc.)
-
Setting up Daphne to run games like Dragon's Lair isn't exactly the most obvious task in Retropie. After days of trial and much error, I finally managed to gain a basic understanding of how Daphne on Retropie works and how to get its associated games working within it. I wanted to record this learning experience to help anyone else looking to get this working and to also remind me how it all works as I'm bound to forget it later on.
First, it helps to understand that much of the information you may find online for getting Daphne working is based on the PC version. Most, but not quite all, of how the PC version works also applies to Retropie's version of Daphne with one large exception. Daphne on the PC depends heavily on parameters passed to it either via the command line or via a "commands" file. Retropie's Daphne also supports both of these, but due to its default setup, may cause conflicts with what you learn about the PC version and attempt to bring to the Retropie version.
Why? Retropie sets up Daphne like it does with all of its plaforms. There a folder created for it under "/configs/daphne/" and there you will have two files, a "dainput.ini" file (which defines your controls and is beyond the scope of this overview) and an "emulators.cfg" file which tells Retropie how to launch Daphne whenever you run a game. Within this file Retropie tells Daphne to look to another file, a simple script file called "daphne.sh" and found here:
"/opt/retropie/emulators/daphne/daphne.sh". That script forces a very specific command line to be called which, as a result, forces a very specific folder structure on the Retropie user that isn't the case for PC Daphne users. More on this later.
So, what do you need to do to get started? Double-check that you have the above files in "/configs/daphne/" (or at least the "emulators.cfg" file). Next is the more critical area. Head over to your "/roms/daphne/" folder. Here you will create folders for each laser disc game you want to run. The names of these folders are essential (due to the aforementioned Retropie Daphne launching script) and follows this convention: "<name>.daphne" where <name> matches the name of the .zip file of the ROMs specific to the game you want to run.
Take, for example, the most popular laser disc game almost everyone running Daphne is most interested in, Dragon's Lair. Dragon's Lair actually comes in many flavors and Daphne supports pretty much all of them. There's the original arcade version and Daphne knows this as "lair". The ROMs for this version are likewise stored in a .zip file called "lair.zip". There's an enhanced version called Dragon's Lair Enhanced 1.1. Daphne knows this as "dle11" and its ROMs would likewise be stored in "dle11.zip". There's an even newer, more enhanced version that Daphne knows as "dle21" (with ROMs in "dle21.zip"). Many other versions exist and each one includes their own specific ROMs stored in a .zip file of the same Daphne-defined name.
So let's jump back to those folders. If you want to get the default Dragon's Lair game running you'll need to know that Daphne calls it "lair" and that your files and folders need to follow this convention. When creating your "\roms\daphne" sub-folder remember that its format is "<name>.daphne", so our folder for the default version will be "lair.daphne". If you wanted to install the 1.1 Enhanced version then you'd create a folder here called "dle11.daphne", and so on. I know that's a lot, but it's essential to your overall success that I brow-beat that understanding into your every Daphne thought. In fact, you should go re-read it again until it becomes a way new retro way of life.
Under these folders you'll place everything else needed to run each game/version you want. It's up to you to locate this data. This is just like finding any other ROMs for the games you want to run on Retropie. Daphne data files can be found several ways. Google, as always, is your friend here. One direct way to get this data is to install the PC version of Daphne and buy, rent or borrow a Dragon's Lair DVD or blu ray. The PC version will then install all the files you'll need once it verifies that you have an actual Dragon's Lair disc in your possession. You'll then copy the needed files over to your Retroie setup.
Dragon's Lair and its cousins, like dle11, dle21, ace (Space Ace), and the rest, use a similar setup. This "<name>.daphne" folder may include several file types:
-
.m2v files. This can be one big file or even dozens of .m2v files. These are the video files that were created from the original laser disc. If you have a movie player installed on your PC you can go ahead and click any of these files to get a sense of their makeup.
-
.ogg files. These are the audio files that exist for every .m2v file and are named the same as their associated .m2v file. Why, you might ask, do the video files have no sound and use seperate audio files? Simple actually. It means it's easy for the arcade game to support different languages.
-
.dat files. These are definition files that Daphne uses to understand how to playback the .m2v and .ogg files. These should NOT be copied into the "<name>.daphe" folders as they are built by Daphne on-demand the first time Daphne runs the game. .dat files built for another setup may cause "video parsing" errors with your setup, so if your source data included these, DELETE THEM.
-
a framefile. The frame file is an essential text file that is named "<name>.txt", or in this case, "lair.txt". This file tells Daphne the name, location and timing of every .m2v and .ogg file. The files you acquired will include one of these. Without it, your game cannot run. If it's named anything other than "lair.txt" you'll need to rename it. We'll talk a bit more about the contents of this file in a bit.
-
a "commands" file. This is an optional, but sometimes essential file that is used to pass supported command line arguments to Daphne for each game. It's structured just like you'd expect for passing additional parameters to a program from a command line. You can find all the supported command line arguments here.
However, remember what I said about the "daphne.sh" launching script. Several of the commands listed on that page will not function properly because of this script.
Finally, also under "/roms/daphne/" you'll also need to create another roms folder. Thus you'll have a "/roms/daphne/roms/" folder. Yeah, that's a bit redundant, but necessary. Unlike most arcade games laser disc games require both ROM files and disc data (.m2v, .ogg, etc.) in order to run. This confuses most people at first as they think if they have the ROM files for Dragon's Lair then that's all they should need. Wrong.
In the "/roms/daphne/roms" folder you'll need to place the ROM files for each game and they'll be stored in a .zip file called "<name>.zip" or, in this case, "lair.zip". As with our other examples, you may also have ROMs for the other versions and games such as, "ace.zip", "dle11.zip" and "dle21.zip", among others. Obviously you'll need to find these where you normally find ROM files and they all go in this folder.
That's actually it with regard to the basics for getting a Daphne game running. Once you acquire the desired game's files and ROMs it's a pretty straight-forward process of moving the data to the correct folders to get everything running. Also be aware that many sources for this data create it on platforms other than Linux-based devices and, as such, it may include filenames that are not all not all case-matched, which is essential in Linux platforms like the one Retropie runs on.
One common way people go about getting the data is to install the PC version of Daphne and then feeding it a valid disc where required. Daphe then goes out and downloads all the required data files to the PC. That's great, but then you'll need to go in and find where the necessary data files are and assure that the filenames listed in the framefile ("lair.txt" in our example above) match the case of the .m2v and .ogg files exactly. If you're copying data from a PC-based Daphne setup then you'll find your framefile in a folder called "\Daphne\framefile". The ROMs are in the "\Daphne\roms" folder and the .m2v and .ogg files are stored beneath the "\Daphne\mpeg2" folder (though usually in a folder one level below this, like "\Daphne\mpeg2\lair", but it doesn't need to be named "lair" and you don't recreate this folder on the Retropie. Just go into it and copy the data directly to your "<name>.daphne" folder.
A note on the commands file (like "lair.txt" from our above example) might be helpful. The Retropie version of Daphne, as noted, uses a specific script ("daphne.sh") to launch each game. On the PC version of Daphne you'd have just one set of data files (your .m2v, .ogg and framefile) and you can run any version you want with just that one set of data. So, even though you may have gotten your data from the original arcade version of the game, the PC version of Daphne can play the original game, the 1.1 enhanced verison, the 2.1 enhanced version, or any of many different versions from it. On the PC you'd just provide a command line parameter for the version you want. A typical command line entry might look like this:
daphne dle11 vldp -fastboot
That tells Daphne to run Dragon's Lair using the enhanced 1.1 (dle11) version, that we're running it on a virtual laser disc player (vldp) and to skip most of the setup process (the -fastboot part). Because of the makeup of the Retropie "daphne.sh" script some of this is easy while some of it isn't. For example, let's say I like the idea of using the -fastboot parameter on my "lair.daphne" setup. I would create a "lair.commands" file (as explained above) and I'd add -fastboot to the contents of that text file. The next time I run Dragon's Lair it'll skip a bunch of unnecessary startup screens. Nice!
Now, lets say you've been reading up on the different versions of Dragon's Lair and you notice that the creators of the enhanced versions found extra scenes that the arcade designers decided to eliminate from the original version for the sake of making the game faster (and thus more profitable). There are actually lots of extra scenes or even longer cuts of existing scenes stored on the laser disc, and simply unused. To play these on the PC version of Dragon's Lair you'd just pass it the "dle11" parameter and you're playing that version. Not so with the Retropie Daphne setup because of the default launching script limitations. You could edit this script, but then any later update will break overwrite edit. The main way around this is to create another instance of that game that's set up to play this version.
Let's use the 2.1 version as an example. You'd make sure you have the ROMs for the 2.1 version ("dle21.zip") and place them in "\roms\daphne\roms". You'd also create a new "<name>.daphne" folder for this version under "\roms\daphne" called "dle21.daphne" so now you'll have "\roms\daphne\dle21.daphne". In that folder you'd place your framefile for this version ("dle21.txt") and the optional commands file ("dle21.commands"). Then there's the data (the .m2v and .ogg files). You COULD copy all your "lair.daphne" .m2v and .ogg files over to here and that would work, but it will also take a lot of space. A better idea is to just edit your framefile ("dle21.txt") and point it to your "lair.daphne" files. To do this you edit the framefile ("dle21.txt") and you'll notice the structure of the file is pretty simple. It may look like this:
. 150 dl-slates.m2v 323 dls00.vob.m2v 1366 dls01.vob.m2v 2044 dls01d1.vob.m2v 2085 dls01d2.vob.m2v 2133 dls01d3.vob.m2v 2213 dls01b.vob.m2v (... and so on)
It's the first line that's important here. That line is an address line and in Linux a "." means the files are right here in the current folder. Just change this to where your main copy of the .m2v and .ogg files are. For example, my entry for this line is "../lair.daphne/". This tells Daphne to go up one folder ("..") and then down into the "/lair.daphne/" folder to find all the necessary files. This works great, and you can use this for any version of Dragon's Lair that you want to run, without taking up huge amounts of space.
Now that you know the basics you can apply the same thinking to any Daphne-supported game, like Space Ace or Dragon's Lair II: Time Warp, etc., to get them running as well.
I hope you find this explanation helpful, if a bit wordy.
-
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.