RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    (REQUEST) Add Daphne Singe emulator?

    Scheduled Pinned Locked Moved Ideas and Development
    daphnesinge
    298 Posts 21 Posters 111.8k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • SaturnXS
      SaturnX @DirtBagXon
      last edited by

      @dirtbagxon @Gamesman

      Yep - my file structure looks just like the one @DirtBagXon has listed above and works great.

      1 Reply Last reply Reply Quote 0
      • G
        Gamesman @DirtBagXon
        last edited by

        @dirtbagxon
        I have those files now in the timegal folder. On my RP4 when I goto cd /opt/retropie/emulators/singe and run ./run.sh, the only game available is singe.
        singe.JPG
        This is the directory. I did everything SaturnX had in his guide. Am I missing something??

        SaturnXS 1 Reply Last reply Reply Quote 0
        • SaturnXS
          SaturnX @Gamesman
          last edited by SaturnX

          @gamesman

          So your /opt/retropie/emulators/singe directory looks good (this is where the emulator is compiled)

          Are you TimeGal files in the following location?

          /home/pi/RetroPie/roms/daphne/singe/timegal?

          and for example, you have the following files:

          /home/pi/RetroPie/roms/daphne/singe/timegal/timegal.singe and;
          /home/pi/RetroPie/roms/daphne/singe/timegal/timegal.txt

          Please do the following - ssh/quit to to terminal and:

          cd /home/pi/.daphne
          ls -al
          

          And provide the output here. Since you say when you execute ./run.sh from /opt/retropie/emulators/singe you're not seeing timegal, that means that your symlinks are not correct for the rom/game file location. By defaut, the singe emulator will look for games in the following location /home/pi/.daphne/singe/[game] and the purpose of the symlink is to move where it looks into the standard roms directory as a sub directory of Daphne.

          G 1 Reply Last reply Reply Quote 0
          • G
            Gamesman @SaturnX
            last edited by

            @saturnx
            TimeGal files are in the right folder:
            singe.JPG

            20210228_1.jpg
            This is what I get with ls -al.

            SaturnXS 1 Reply Last reply Reply Quote 0
            • SaturnXS
              SaturnX @Gamesman
              last edited by SaturnX

              @gamesman Yeah, I can see the problem, the symlinks are not set up correctly.

              The only symlink that's correctly setup is the one from singeinput.ini you can see that in your screenshot:

              singeinput.ini -> /opt/retropie/configs/daphne/singeinput.ini
              

              However, pics, sound, and singe are not linked.

              Can you tell me if the pics, sound, and singe directories are empty? If they are, you should do the following:

              NOTE: The instructions below include removing files/directories, make sure you're in the right location when issuing commands

              1. Remove the directories
              cd /home/pi/.daphne
              rmdir pics
              rmdir sound
              rmdir singe
              
              1. Then create the proper symlinks:
              sudo ln -s /opt/retropie/emulators/singe/pics /home/pi/.daphne/pics
              sudo ln -s /opt/retropie/emulators/singe/sound /home/pi/.daphne/sound
              sudo ln -s /home/pi/RetroPie/roms/daphne/singe /home/pi/.daphne/singe
              

              If the directories are not empty, then you likely copied, instead of symlinked the directories from /opt/retropie/emulators/

              If this is the case, then I'd recommend the following:

              1. Make sure /opt/retropie/emulators/singe/pics and /opt/retropie/emulators/singe/sound have the expected files in them

              2. Remove the existing folders and contents

              cd /home/pi/.daphne
              rm -r pics
              rm -r sound
              rm -r singe
              
              1. Create symlinks:
              sudo ln -s /opt/retropie/emulators/singe/pics /home/pi/.daphne/pics
              sudo ln -s /opt/retropie/emulators/singe/sound /home/pi/.daphne/sound
              sudo ln -s /home/pi/RetroPie/roms/daphne/singe /home/pi/.daphne/singe
              

              Let me know how it plays out. In the end what you should see if everything is setup properly when running ls -al in /home/pi/.daphne/ is the following: (view of my system)

              drwxr-xr-x  4 pi pi 4096 Feb 25 11:34 .
              drwxr-xr-x 10 pi pi 4096 Feb 26 16:14 ..
              -rw-r--r--  1 pi pi 4073 Feb 25 11:44 daphne_log.txt
              drwxr-xr-x  2 pi pi 4096 Feb  8 21:04 games
              lrwxrwxrwx  1 pi pi   35 Feb  8 21:02 pics -> /opt/retropie/emulators/singe/pics/
              drwxr-xr-x  2 pi pi 4096 Feb  8 21:04 screenshots
              lrwxrwxrwx  1 pi pi   36 Feb  8 21:03 singe -> /home/pi/RetroPie/roms/daphne/singe/
              lrwxrwxrwx  1 pi pi   43 Feb  8 21:06 singeinput.ini -> /opt/retropie/configs/daphne/singeinput.ini
              lrwxrwxrwx  1 pi pi   36 Feb  8 21:02 sound -> /opt/retropie/emulators/singe/sound/
              
              

              Good luck!

              G 1 Reply Last reply Reply Quote 0
              • G
                Gamesman @SaturnX
                last edited by

                @saturnx

                That worked. I had to do the second choice. I believe what happened is when I followed this from the beginning and installed Singe, I copied the sound, pics, and singe folders like it originally said. When you put up your guide and I went through it, it was trying to install over the original installation folders. After removing the existing folders and creating the symlinks it worked. Thank you for the help.

                1 Reply Last reply Reply Quote 2
                • G
                  Gamesman @AdamBeGood
                  last edited by

                  @adambegood said in (REQUEST) Add Daphne Singe emulator?:

                  Further Edit: I manually amended the X and Y values in the run.sh

                  What did you amend the X and Y values too in order for them to work? I have the same screen issue you did.

                  DirtBagXonD A 2 Replies Last reply Reply Quote 0
                  • DirtBagXonD
                    DirtBagXon @Gamesman
                    last edited by DirtBagXon

                    @gamesman said in (REQUEST) Add Daphne Singe emulator?:

                    @adambegood said in (REQUEST) Add Daphne Singe emulator?:

                    Further Edit: I manually amended the X and Y values in the run.sh

                    What did you amend the X and Y values too in order for them to work? I have the same screen issue you did.

                    You would need to alter the X and Y values in run.sh to the resolution of your screen.

                    However there may be an alternate auto-scaling change you can make, using -fullscreen_window as detailed here:

                    https://retropie.org.uk/forum/post/252983

                     

                    Hypseus Singe for RetroPie: https://github.com/DirtBagXon/hypseus-singe
                    Hypseus Singe Games: https://github.com/DirtBagXon/hypseus_singe_data
                    Hypseus Discord: https://discord.gg/dgCsCfmRfJ

                    SaturnXS 1 Reply Last reply Reply Quote 0
                    • A
                      AdamBeGood @Gamesman
                      last edited by

                      @gamesman said in (REQUEST) Add Daphne Singe emulator?:

                      @adambegood said in (REQUEST) Add Daphne Singe emulator?:

                      Further Edit: I manually amended the X and Y values in the run.sh

                      What did you amend the X and Y values too in order for them to work? I have the same screen issue you did.

                      1920 and 1080 for my screen. :)

                      1 Reply Last reply Reply Quote 0
                      • SaturnXS
                        SaturnX @DirtBagXon
                        last edited by SaturnX

                        @dirtbagxon

                        So I’ve been experimenting with the full KMS video driver on my Pi4 to address some of the screen tearing issues that we see on the Pi4 due to the “fake KMS” driver.

                        While it works great with RetroArch - it breaks any SDL1 based emulators (daphne, singe, dosbox, openbor, fuse, etc..).

                        Given that the full KMS driver is the future and that development has ceased on the “fake KMS” driver - any idea on whether it would be possible to port singe to SDL2?

                        I’d be happy to support/test any way I can!

                        And as a side note - since this also breaks Daphe the same also applies. I’d love to see it made “future friendly” by migrating it over to SDL2.

                        For reference, SDL has published a migration guide.
                        https://wiki.libsdl.org/MigrationGuide

                        Thoughts?

                        DirtBagXonD 1 Reply Last reply Reply Quote 0
                        • DirtBagXonD
                          DirtBagXon @SaturnX
                          last edited by DirtBagXon

                          @saturnx said in (REQUEST) Add Daphne Singe emulator?:

                          @dirtbagxon

                          So I’ve been experimenting with the full KMS video driver on my Pi4 to address some of the screen tearing issues that we see on the Pi4 due to the “fake KMS” driver.

                          While it works great with RetroArch - it breaks any SDL1 based emulators (daphne, singe, dosbox, openbor, fuse, etc..).

                          Given that the full KMS driver is the future and that development has ceased on the “fake KMS” driver - any idea on whether it would be possible to port singe to SDL2?

                          I’d be happy to support/test any way I can!

                          And as a side note - since this also breaks Daphe the same also applies. I’d love to see it made “future friendly” by migrating it over to SDL2.

                          For reference, SDL has published a migration guide.
                          https://wiki.libsdl.org/MigrationGuide

                          Thoughts?

                          Heya @saturnx,

                          I have thought about tackling this a few times, but I just don't have the spare time to undertake it at the moment. It looks to be a non-trivial task. And to be honest, the interest in the projects is fairly small looking at the github stats.

                          https://github.com/libretro/daphne - Has tackled the move to SDL2 but seems to have several issues, including a major audio bug, plus no one seems to be developing it any longer.

                          I also looked at Hypseus a while ago, which also had ported Daphne to SDL2 but seemed to have a lack in documentation. However, I just noticed that Jeffrey Clark seems to have picked up on developing it again this year. So it may be worth poking around his repo:   https://github.com/btolab/hypseus

                          As far as future-proofing Singe is concerned, I think Singe V2 has that route covered :)

                          I initially started both my Daphne and Singe repos for 64bit Ubuntu desktops* after re-discovering Dragons Lair  et al. Finding that all the available versions, at that time, had issues and wouldn't compile in 64bit land. At the moment with full OpenGL and hardware acceleration it thankfully still works well on this platform....

                          *Hence, also writing the Daphne/Singe Loader frontends in GTK.

                          Hypseus Singe for RetroPie: https://github.com/DirtBagXon/hypseus-singe
                          Hypseus Singe Games: https://github.com/DirtBagXon/hypseus_singe_data
                          Hypseus Discord: https://discord.gg/dgCsCfmRfJ

                          SaturnXS 1 Reply Last reply Reply Quote 0
                          • SaturnXS
                            SaturnX @DirtBagXon
                            last edited by

                            @dirtbagxon Thanks for that update and honestly, thanks for all the effort you've put in so far!

                            So after I posted my message above, I went ahead and loaded up my Pi4 with my build of RetroPie (4.7.1) that I use for development and testing.

                            I updated the kernel to the latest LTS that's been pushed (5.10.xx) and switched from the fake KMS driver (vc4-fkms-v3d) to the full KMS driver (vc4-kms-v3d).

                            As expected daphne failed to load video (but heard sound), however to my surprise, your singe build ran Time Gal and Ninja Hayate just like before!!

                            I had thought this was tied to SDL1 vs. SDL2, but it appears its tied to the use of dispmanx which isn't supported by KMS. Does your singe build not use dispmanx?

                            I also just took a look at hypseus and compiled it last night on my Pi4, however no game was even remotely playable either due to freezes/video skips, etc.. Maybe I'm missing something, but the same titles run perfectly under daphne.

                            I've posted in the other thread about hypseus to see if I can get the conversation going again :)

                            DirtBagXonD 1 Reply Last reply Reply Quote 0
                            • DirtBagXonD
                              DirtBagXon @SaturnX
                              last edited by DirtBagXon

                              @saturnx said in (REQUEST) Add Daphne Singe emulator?:

                              I had thought this was tied to SDL1 vs. SDL2, but it appears its tied to the use of dispmanx which isn't supported by KMS. Does your singe build not use dispmanx?

                              It only uses GL and SDL. As I understand it, dispmanx is a poor version of SDL not used very much any more, but seems to be adopted to some degree on RetroPie or RPi in general.

                               

                              I also just took a look at hypseus and compiled it last night on my Pi4, however no game was even remotely playable either due to freezes/video skips, etc.. Maybe I'm missing something, but the same titles run perfectly under daphne.

                              What version of Daphne are you using? The RetroPie build or custom build from DavidGriffith or myself ? These repos are very similar to the Singe repo, so may also work. They have the same fixes in that I put into the underlying Singe repo daphne engine.

                               

                              I've posted in the other thread about hypseus to see if I can get the conversation going again :)

                              Yeah I would like to see that up and working too, maybe it needs some TLC from extra developers to give it a kickstart.

                              Hypseus Singe for RetroPie: https://github.com/DirtBagXon/hypseus-singe
                              Hypseus Singe Games: https://github.com/DirtBagXon/hypseus_singe_data
                              Hypseus Discord: https://discord.gg/dgCsCfmRfJ

                              SaturnXS 2 Replies Last reply Reply Quote 1
                              • SaturnXS
                                SaturnX @DirtBagXon
                                last edited by SaturnX

                                @dirtbagxon That makes total sense about the use of GL and SDL in your singe build.

                                Yeah the first thing I noticed switching to the full KMS is the loss of the boot splash screen, as it turns out RetroPie uses dispmanx for the boot splash screen.

                                I’m actually using @pjft’s build (which fixed issues with DragonRise joystick encoders). I didn’t even know you or DavidGriffith had a Daphne repo. I’m sure I can find yours, but do you have a link for the DavidGriffith repo?

                                Any insight on the differences between yours and his?

                                Regardless I’ll give them a go on my dev build and report back. The full KMS driver is still new territory in the RetroPie space and such is the adventure of being on the “bleeding edge”.

                                Also - any tips on compiling on the pi? Just want to ensure I don't miss anything. Would it be the same as the singe install?

                                DirtBagXonD 1 Reply Last reply Reply Quote 0
                                • DirtBagXonD
                                  DirtBagXon @SaturnX
                                  last edited by DirtBagXon

                                  @saturnx said in (REQUEST) Add Daphne Singe emulator?:

                                  I’m actually using @pjft’s build (which fixed issues with DragonRise joystick encoders). I didn’t even know you or DavidGriffith had a Daphne repo. I’m sure I can find yours, but do you have a link for the DavidGriffith repo?

                                  https://github.com/DirtBagXon/daphne - Install is pretty much identical to Singe

                                  I pushed all of my changes back to David, including the fixes for Badlands, Road Blaster and Bega's Battle on the RPi from pjft.

                                   

                                  pjft - Any insight on the differences between yours and his?

                                  @pjft's version is a fork of grant2258 which in turn is a fork of the RetroPie fork, whereas I forked from David's which is more inline with Matt's original version.

                                  https://github.com/mirror/daphne-emu/network/members

                                  daphneforks.png

                                  • Ignore "DirtBagZon" above, it was a created to get around a Github restriction on cloning multiple forks of the same repo (mentioned somewhere in this thread).

                                  There are also a few enhancements I added while back, for example utilising an alternate game customised -keymapfile file. e.g. Flight based games.
                                  See here:

                                  https://github.com/DirtBagXon/daphne/tree/master/custom

                                   
                                  If @pjft shares the merge request for the DragonRise joystick encoders, you could patch it into any daphne. If it was just the fact of adding more button/controls on the joystick: I have committed a patch today, to daphne, to match the Singe merge from pjft I had previously.

                                  https://github.com/DirtBagXon/daphne/commit/47bda19b52da4a9c04770a22c272fc93b0b20d0d

                                   

                                  Hypseus Singe for RetroPie: https://github.com/DirtBagXon/hypseus-singe
                                  Hypseus Singe Games: https://github.com/DirtBagXon/hypseus_singe_data
                                  Hypseus Discord: https://discord.gg/dgCsCfmRfJ

                                  SaturnXS 1 Reply Last reply Reply Quote 1
                                  • SaturnXS
                                    SaturnX @DirtBagXon
                                    last edited by

                                    @dirtbagxon Awesome thanks for that comprehensive overview.

                                    I've just compiled it on my pi4 from your repo, I'll give it a go a bit later tonight to see how it runs/performs.

                                    I appreciate the custom run script - that will help me hook in nicely with EmulationStation.

                                    Regarding the DragonRise Encoder issue - it'd be great if @pjft can share the updates, but at least on my end it's become a non-issue as I've transitioned to using xboxdrv for keyboard emulation which provides wayyyy more flexibility than relying on the joystick interface in daphne/singe.

                                    pjftP 1 Reply Last reply Reply Quote 0
                                    • pjftP
                                      pjft @SaturnX
                                      last edited by

                                      @saturnx I am under the impression that I shared such changes at some point with @DirtBagXon 's repo, but correct me if I'm wrong. I don't think I ever did it to the RetroPie repo, though.

                                      SaturnXS 1 Reply Last reply Reply Quote 1
                                      • SaturnXS
                                        SaturnX @pjft
                                        last edited by

                                        @pjft Amazing! I'm going to give @DirtBagXon's version a go in a bit and I'll report back.

                                        1 Reply Last reply Reply Quote 0
                                        • SaturnXS
                                          SaturnX @DirtBagXon
                                          last edited by SaturnX

                                          @dirtbagxon Once again... a HUGE thanks!

                                          Fired up your build of daphne on my pi4 using the full KMS driver (vc4-kms-v3d,noaudio) on kernel 5.10.17 on RetroPie 4.7.1 and all the games booted up without issue and running smoothly :)

                                          Using your version is obviously a bit more manual to set up all the necessary symlinks for everything to run, but it's well worth it.

                                          I find it extremely interesting there is such a stark difference between the RetroPie build of daphne and yours. It's a shame, it would be great if your enhancements were pulled into the RetroPie build so this was a far less manual exercise.

                                          This is a huge win-win for my arcade cabinet, I can now move entirely to the full KMS driver to improve video performance on my pi4 and still run my desired emulators (fb-neo/mame/redream/daphne/singe).

                                          The only thing I lose by going to the full KMS is the lack of a boot splash screen - a small price to pay to eliminate screen tearing, and I'm sure RetroPie will eventually be updated.

                                          If I can find the time, I'll see about putting together another guide for your daphne build.

                                          DarksaviorD DirtBagXonD 2 Replies Last reply Reply Quote 2
                                          • DarksaviorD
                                            Darksavior @SaturnX
                                            last edited by

                                            @saturnx thanks, looking forward to it. I couldn't get Daphne to compile back when I tried it. I'm fine without the splash since my setup boots in around 30sec.

                                            SaturnXS 1 Reply Last reply Reply Quote 1
                                            • First post
                                              Last post

                                            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.