Homepage Forums RetroPie Project Everything else related to the RetroPie Project (Dragon's Lair, Space Ace, etc.) Anyone interested in Daphne laserdisc system?

Viewing 35 posts - 1 through 35 (of 123 total)
  • Author
    Posts
  • #116915
    shmoopty
    Participant

    Update: It’s available in RetroPie now. Most questions are answered in [THIS POST].

    Whelp, I was able to get the Daphne laser disc arcade system emulator to compile and it runs beautifully on Raspberry Pi 2. Perhaps it’s great on earlier models, too. I haven’t checked.

    There’s a really old post here about Daphne, but it just leads to a link to a single mystery binary that doesn’t run anymore.

    Is anyone interested in this project?

    If there’s interest, I could put together a script for building it or contribute to getting it added to the experimental emulators menu. I don’t want to waste time whistling into the wind if I’m the only one with a fondness for these games.

    – Shmoopty

    #116919
    herbfargus
    Member

    Where did you get the code for it? May want to check with the main dev of it first. He’s done a lot of work on that emulator. Laser disc isos are also very large and hard to find.

    I would definitely be interested in checking it out though.

    #116925
    shmoopty
    Participant

    Hi, herbfargus!

    Daphne does not seem to have a public source repository. Instead they offer a [url=http://www.daphne-emu.com/download/daphne-1.0-src.tar.bz2] GPL’ed tarball [/url] of the most recent official release source.

    Yes, I’ve chatted with “Matt_O|zn” in their IRC channel and I have their blessing to publicly patch the source for Raspberry Pi. Their private source isn’t in a state right now to share or patch.

    The original laserdisc images can be large, yes! But daphne only expects an ogg file for audio and a m2v for video. Both could be compressed down to a smaller size, if desired. I haven’t tried this – I’m assuming.

    I can also find exact laserdisc rips on YouTube right now.

    Probably worth mentioning – there are also easily google-able ways to produce a Daphne video from a matching PC-CDROM or DVD game disc. :)

    #116926
    herbfargus
    Member

    May be worth putting up a github repo just for convenience in building a module for the retropie setup script (if that’s at all possible)

    out of curiosity did you implement this?

    https://www.raspberrypi.org/forums/viewtopic.php?f=33&t=57721

    #116948
    Anonymous
    Inactive

    I love those games. I own blu-ray versions and also PS3 versions, but having them on Pi could be pretty cool (if they fit on my SD card! I have no idea.)

    #116954
    InsecureSpike
    Participant

    i’ve added a Daphne support to my theme, named as daphne

    [clean_canela] Themes: 69 Themed Systems! v2.0 UPDATE

    both available via the theme installer, i’ve not tested yet, so if someone could that would be great, thanks

    #116958
    shmoopty
    Participant

    [quote=116926]May be worth putting up a github repo just for convenience in building a module for the retropie setup script (if that’s at all possible)
    [/quote]

    I like that idea – since a git repo would also welcome anyone to improve it.

    [quote=116926]
    out of curiosity did you implement this?

    https://www.raspberrypi.org/forums/viewtopic.php?f=33&t=57721
    [/quote]

    No, nothing so bold…

    I was mucking with the code to fix errors as they came up for a little bit. Until I realized that I was only fixing treat-warnings-as-errors errors.

    What’s really needed to build Daphne is installing a few atypical libraries and creating some makefiles with the right defines and build flags. Then it just worked.

    Still looking into how to assign emulationstation button mappings. And oddly, a BASH script that I lazily threw into roms/ports/ runs and quits fine at the command line; but from ES will lock the Pi up when I quit. I’m not overclocking. Does that issue sound familiar?

    #116972
    herbfargus
    Member

    Possible its leaving the framebuffer in an unusable state upon exit. It’s pretty common when launching some things from emulationstation. Generally we pipe things through the runcommand script which helps with that. I’d have to test it myself though to verify.

    If you want to set up a repo on github preferably with a commit history showing your changes that would be great

    Also would be ideal to be built for raspbian Jessie as we won’t provide support for wheezy going forward.

    #116976
    shmoopty
    Participant

    Here it is. Intended to run on Raspbian Jesse. Tested on RetroPie 4.5 for Raspberry Pi 2.

    https://github.com/Shmoopty/daphne-pi

    The commits are commented. First commit produces the original source, verbatim.

    So far, I’ve left out all my source code changes, as they don’t likely affect the end result.

    I threw a quick and dirty but readable build script together, so these commands alone SHOULD produce a runnable binary on your RPi.

    $ git clone https://github.com/Shmoopty/daphne-pi.git
    $ cd daphne-pi
    $ ./build-daphne.sh
    

    Takes about 15 minutes.

    Then with no games available, you should be able to run the minimal GUI with the “no laser disc” command line option:

    $ cd daphne
    $ ./daphne lair noldp -nohwaccel
    

    You’ll see an error message that the tiny lair ROM file is missing (not the same as the big laserdisc asset files). ‘Q’ to quit.

    [quote=116972]Possible its leaving the framebuffer in an unusable state upon exit. It’s pretty common when launching some things from emulationstation. Generally we pipe things through the runcommand script which helps with that. I’d have to test it myself though to verify.
    [/quote]

    That sounds likely. Completely black screen, but I can SSH in and see that emulationstation is running, while daphne is not.

    #116977
    herbfargus
    Member

    Looks great, thanks for doing that. I won’t have access to my pi for a day or two as I’m out on holiday but I’ll test when I’m able to get back to it and see if I can come up with a working module that we can add to the setup script.

    I’m not sure how much Matt ownby cares to be involved or what state his development is currently at, but longterm i would prefer to have his code be the upstream as he has a complete history of development along with his continued development. I know he’s been doing a lot of work with his Dexter project and I don’t want to take away from that by any means with retropie. Perhaps I’ll contact him and see what his feelings are with it.

    #116985
    shmoopty
    Participant

    That all sounds good. Enjoy your holiday.

    I’m happy to make that repo a downstream of Matt’s when he and his code are in the right state. I don’t have the chat window open anymore, but he said to the effect that he has done work since the last release, but at this time sharing what I’ve done would be better than trying to rein in what he has.

    He was very pleasant to talk to. And yes, he was eager to talk Dexter. :)

    #116987
    shmoopty
    Participant

    [quote=116954]i’ve added a Daphne support to my theme, named as daphne

    i’ve not tested yet, so if someone could that would be great, thanks
    [/quote]

    InsecureSpike, you updated your theme so quickly my head was spinning. :)

    It looks great! Do you do design work professionally?

    #116988
    InsecureSpike
    Participant

    haha, looks ok, yeah?

    no, not professionally just for fun,

    thank you

    #116992
    shmoopty
    Participant

    herbfargus, great news – I’ve been able to integrate this daphne build very elegantly into Retro Pie. Your suspicion seems to be right that runcommand needed to clean up the framebuffer settings on exit.

    If it saves you time, I’ll gladly share the changes I’ve made. Here’s the rundown of what I did after snooping around Retro Pie’s guts:

    [list]
    * Added “daphne” entry to /etc/emulationstation/es_systems.cfg. This was the only existing file that needed to be modified.
    * Added the daphne runtime to /opt/retropie/emulators/daphne/
    * Added dir /home/pi/RetroPie/roms/daphne for both roms and laserdisc images
    * Added /opt/retropie/configs/daphne/emulators.cfg
    [/list]

    Given that a game involves a handful of files, as well as a hard-coded game name, here are the contents of /home/pi/RetroPie/roms/daphne/READ_ME which sorts all that out:

    Add each new laserdisc game here in a directory named
    {game}.daphne where {game} is a daphne-recognized game
    name, such as lair or ace.
    
    It is assumed that the framefile.txt will have the same
    name, e.g. lair.daphne/lair.txt
    
    Alternate game roms may be added without duplicate storage
    by symlinking the files in one folder to another.
    
    All actual roms should be added to the daphne/roms subfolder
    here.

    If I can hand this off to you, like a zip of just these files or a pull request, let me know. Assuming that it looks like I tackled this the right way.

    This is exciting. It looks as solid as any of the other systems in Retro Pie now.

    #116994
    herbfargus
    Member

    That looks great! You can check out this post to get an idea of how retropie’s module template can automate much of what you described (namely the setessystem function in the configure function) feel free to mess with it yourself using other existing modules from the setup script as an example:

    BBCB Emulator on Retropie

    But yeah feel free to pm me with a zip or whatever and I’ll do what I can to include it in the main setup script. I appreciate you doing all the hard work on this as its not something I’m too familiar with (yet).

    #117011
    meneerjansen
    Participant

    I love Dragons Lair!! But one of the problems for me would be where to get the properly formatted snippets of video material. I found said complete image of the Laserdisc on Youtube (great to watch by the way! and thank for the tip on that). But if I were to succeed in downloading that Youtube movie then I still couldn’t use it in the Daphne emulator, right?

    I own a legal version of the CD-ROM that Digital Leisure released back in the day. On that one are a lage amount of mpeg snippets. The executable plays those snippets based on file name in the right order to play the game. I take it that Daphne works in a similar fashion?

    And I own a Pi 1 (not the more powerfull 2). Might not work on the Pi 1…

    #117039
    iesposta
    Participant

    shmoopty,
    I’m glad I saw this before trying to get the “mystery binary” I had running so well previously. (I did not make that, I just used it.)

    Probably saved me lots of time wondering what I was doing wrong, had I tried to make it work under Jessie.

    I hope my commands still work with the ROMs and files I used previously; Mostly to set the latency and the dip switches to get the beginning bridge sequence as I remember playing on the machine in the bowling lanes when it first appeared.

    My videos were obtained from running Daphne under Ubuntu Linux on a desktop, and having the Digital Leisure DVD release. Once Daphne verifies you have the Digital Leisure DVD release, you are able to download the video files without having to re-encode or compress them from the DVD.

    #117041
    shmoopty
    Participant

    Yes! Please share – what DIP switches did you use to enable the bridge?? You did it with command-line parameters, I assume.

    I’ve done a few backflips to get Daphne to play nice with the directory structure that Retropie likes. If it proves useful, I’ll make optional command-line-stuffing just work. :)

    #117050
    spaceinvader
    Participant

    Wow, having Dragon’s Lair and Space Ace in Retropié would be great!

    Now I have Little time to try but Iwill as son as I can.

    By the way, a request for the programming gods, how about trying to addapt the Geecab’s Monaco GP simulator for Retropié? could it be posible?

    http://forum.arcadecontrols.com/index.php?topic=134445.0

    Thanks you all for the great job (and sorry for my English).

    #117060
    iesposta
    Participant

    shmoopty,
    I have it working from the command line, with the drawbridge scene. It’s a start.
    I recall researching the daphne forums and came up with this:

    To get the drawbridge scene back, download the DLE_21 rom, unzip it, duplicate U3, then rename them dl_f2_u1.bin, dl_f2_u2.bin, dl_f2_u3.bin, and the duplicated u3 to dl_f2_u4.bin

    My original command line was in a bash script called from the run command launcher, but I will try to get that working later.

    ./daphne lair vldp -nohwaccel -framefile /home/pi/RetroPie/roms/daphne/lair.daphne/lair.txt -homedir /home/pi/RetroPie/roms/daphne/ -nocrc -noissues -nolog -noserversend -latency 950 -x 640 -y 480 -bank 1 00110111 -bank 0 10011000
    

    I still am not happy because the animation ends too early, and haven’t decided to add the blanking or not.

    #117069
    shmoopty
    Participant

    What difficulty setting are your dip switches set to? I suppose I could look that up, but I’m all over the place right now.

    Anyway, YES – I can confirm that I was able to run the game with your settings. I’m eager for feedback – currently the file system arrangement tells Retropie how to treat your laserdisc games.

    Here’s what your game setup looked like, file-wise

    roms
    |-- daphne
    |    |   (The folder below holds a laserdisc...".daphne"
    |    |   tells emulationstation to add this to the menu,
    |    |   and "dle21" tells daphne to use that game engine)
    |    |
    |    |-- dle21.daphne     
    |    |    |-- dle21.command  (Optional extra command-
    |    |    |                   line params!)
    |    |    |-- dle21.txt      (Framefile must have same
    |    |    |                   basename, like "dle21")
    |    |    |-- lair.m2v
    |    |    |-- lair.ogg
    |    |
    |    |                (All roms go into this roms folder)
    |    +-- roms
    |         +-- dle21
    

    If you or anyone wants to be running Daphne in 15 minutes, here are the directions.

    Keep in mind that you do this at your own risk, of course. And herbfargus might have some interesting insight when he’s back from holiday. But if you’re willing to stick your neck out and try something new, I appreciate any feedback you can offer.

    Get a prompt up and enter these four lines.

    $ git clone https://github.com/Shmoopty/daphne-pi.git
    $ cd daphne-pi
    $ ./build-daphne.sh
    $ sudo ./install-daphne.sh

    Then restart RetroPie.

    That last line will clobber any changes you’ve made to es_systems.cfg, if you’ve made changes to it. Because I’m not editing your XML in my bash script. :)

    More details will appear in a README in the new roms/daphne dir.

    Also, if you install either clean_canela theme from retropie-setup, InsecureSpike has already made the Daphne menu look all pretty!

    Tell me what you think! I’m curious how earlier model Pi’s do. I also feel like I’m close to getting daphne to match your preferred joystick config from emulationstation, but I’ll save that for after the feedback…

    #117103
    zerojay
    Participant

    I pinged Rookervik and he’ll be updating his themes as well to add Daphne. While I’m not personally very interested in these, I’m glad to have something else to add to Retropie. :)

    That Monaco GP simulator is interesting however as far as I can tell, it’s only for Windows.

    #117131
    shmoopty
    Participant

    [quote=117103]I pinged Rookervik and he’ll be updating his themes as well to add Daphne.[/quote]

    Sweet! This is coming together much faster than I had imagined.

    I may beat Dragon’s Lair yet. Gonna try again now.

    #117209
    petrockblog
    Keymaster

    I am currently adding this to retropie – thanks for the work. I am unable to use your repository however as the makefiles contain hardcoded optimisations that we want to manage from the retropie-setup script, but will use your controller fixes etc.

    #117211
    shmoopty
    Participant

    Hi, buzz. I’m glad I could contribute!

    If this helps – those hard-coded optimizations were in the raspberry pi makefiles to match the style of the other makefiles that were already present. I never tried building without specifying march, mcpu, etc.

    If I discovered that those flags were unnecessary and removed them from the repo, would that help you?

    #117213
    shmoopty
    Participant

    On a related note, buzz, if I could ask for your opinion –

    I was on the edge of having the daphne launch script look at ~/.emulationstation/es_input.cfg and, if a controller entry matches what’s currently detected as “joystick 0” it would duplicate the button mapping for daphne.

    Does that strike you as something that would be valuable for Retropie?

    #117216
    petrockblog
    Keymaster

    If it was done as a input configuration script as we do for retroarch etc that would help – see https://github.com/RetroPie/RetroPie-Setup/tree/master/scriptmodules/supplementary/emulationstation

    #117217
    shmoopty
    Participant

    That looks pretty clear. I’ll whip one up…

    #117220
    petrockblog
    Keymaster

    thanks! :)

    #117240
    petrockblog
    Keymaster

    Have added it to experimental in retropie-setup – i stuck to your naming convention for the “.daphne” folder etc.

    the controller config is stored in /opt/retropie/configs/daphne – for now I have just used the one from your repository until it is generated.

    repository is here – https://github.com/RetroPie/daphne-emu it isn’t restructured at all from upstream to make any future merges easier if there is ever any new development (i forked it from an existing mirror on github).

    thanks again.

    #117243
    shmoopty
    Participant

    Cool. I’ll do a pull request with the controller setup when I have the time to do it up properly.

    The “.daphne” naming convention is a little strange, but it’s a side-effect of daphne wanting to have a monolithic “home directory”, where roms, log files, config files, and other things go. A frame file (“.txt”) might be more intuitive at representing a game, but daphne also dumps “.txt” files of its own at that location.

    Buzz, what is your take on discrete and non-breaking code changes to the repository? Some changes I’ve considered are:

    – I would like to fix all joysticks going dead if joystick 0 disconnects. Detecting and reinitializing a replugged joystick would better match the rest of the RetroPie ecosystem. (This is an issue when bluetooth controllers go to sleep)

    – Optional command-line parameters to break up the monolithic home directory so logs can go one place, while config files go a different place, etc. (Again, better matching the rest of RetroPie)

    – My 10 button limit fix isn’t currently in your repo…

    If pull requests like these would be considered, I’d start sending them over. But if the goal is to keep the codebase as-is, I won’t spin my wheels.

    Cheers

    #117246
    petrockblog
    Keymaster

    Did you check the retropie branch?

    #117247
    shmoopty
    Participant

    Ha – no, I overlooked that. Thanks for the direction.

    #117250
    petrockblog
    Keymaster

    Btw I don’t think it’s needed to modify the file structure, at least not for retropie. I work around it via symlinks for the controls and roms

    #117260
    cfx69
    Participant

    Since I have a few Pi 1 Model B’s and my Pi2’s, I figured I’d try this out on a 1 just to see how it runs.

    Added from experimental, video files in daphne\lair.daphne and roms in daphne\roms\lair and getting a Framefile Parse Error at launch.

    Ideas? I’ve tried configuring the option by pressing a button at launch, but nothing working so far.

    Thanks for the hard work on this!

Viewing 35 posts - 1 through 35 (of 123 total)
  • The forum ‘Everything else related to the RetroPie Project’ is closed to new topics and replies.