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 101.5k 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 @TreasureFingers
      last edited by

      @treasurefingers I can put together a quick how-to for how I got singe (v1.18) up and running my pi4 / 4GB.

      I haven't bothered with Singe v2 as I'm only using it for Time Gal / Ninja Hayate.

      Let me know and I can whip something up.

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

        @treasurefingers

        Here's a quick how-to guide for Singe that I've pieced together from various posts and people - this worked smoothly on my Pi4 setup, but I don't any reason it wouldn't work on a Pi3.

        Overview of the Steps:

        • Download/Install Dependencies
        • Download/Compile/Install Singe
        • Create Symbolic Links (symlinks) for easier game/controls management
        • Copy Game Data
        • Modify EmulationStation to show Singe launch entries under Daphne

        Prerequisites:

        • Daphne installed (and functioning correctly) on your RetroPie installation
        • Comfort with terminal / command-line interfaces

        Step 1: SSH Into your Pi OR exit to terminal from Emulation Station (F4)

        Step 2: Dependencies

        Dependencies are listed in the ReadMe on @DirtBagXon's Repo: https://github.com/DirtBagXon/singe/blob/master/README.md

        On a clean install of RetroPie 4.7.1, I found only two additional dependencies needed to be installed, libsdl-image1.2-dev and libsdl-ttf2.0-dev

        You can confirm what packages you have installed by running the following:

        dpkg-query -f '${binary:Package}\n' -W
        

        Then run the following command to install the necessary dependencies:

        sudo apt-get install libsdl-image1.2-dev libsdl-ttf2.0-dev 
        

        Alternatively, if you want to install or ensure you have all the necessary dependencies, use the following command:

        sudo apt-get install  libasound2-dev libcaca-dev libglew-dev libglib2.0-dev libogg-dev libpcre3-dev libpcre32-3 libpng-dev libpng-tools libpulse-dev libsdl-image1.2-dev libsdl-ttf2.0-dev libsdl1.2-dev libslang2-dev libvorbis-dev libxi-dev pkg-config
        

        Step 3: Download Source

        NOTE: For consistency with the RetroPie file structure, the instructions will install the Singe emulator binaries into /opt/retropie/emulators/

        Download source from @DirtBagXon's repo:

        cd /opt/retropie/emulators/
        sudo git clone https://github.com/DirtBagXon/singe.git singe
        

        Step 4: Compile and Install

        Next steps are to compile and install Singe, assuming you are already in directory /opt/retropie/emulators

        cd singe/src/vldp2
        sudo ./configure --disable-accel-detect
        sudo make -f Makefile.linux
        cd ../game/singe
        sudo make -f Makefile.linux
        cd ../..
        sudo make
        cd ..
        

        All should have gone smoothly and you’ll now have Singe installed into /opt/retropie/emulators/singe

        Step 5: Creating Symlinks

        This comes from my personal preference, and I suggest the following so that you can easily manage your games / configs via network shares and keeps the file structure intact.

        As designed, Singe expects game data to be located /home/pi/.daphne/singe/ along with resources and your controller configuration singeinput.ini

        My preference and the steps outlined below will result in the following:

        Game Data Stored in: /home/pi/RetroPie/roms/daphne/singe/[game]
        Controller Config located in: /opt/retropie/configs/daphne/singeinput.ini

        NOTE: The following assumes you’ve already installed Daphne and therefore already have your controls configured in /opt/retropie/configs/daphne/dapinput.ini

        Create required directories and copy control input over from Daphne:

        mkdir -p /home/pi/.daphne/
        mkdir -p /home/pi/RetroPie/roms/daphne/singe
        cp /opt/retropie/configs/daphne/dapinput.ini /opt/retropie/configs/daphne/singeinput.ini
        

        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
        sudo ln -s /opt/retropie/configs/daphne/singeinput.ini /home/pi/.daphne/singeinput.ini
        

        Step 6: Copy Game Data
        Game data should be copied into /home/pi/RetroPie/roms/daphne/singe/ within a sub-directory name matching the game title.

        The primary .singe and .txt framefiles should also match this naming convention within the game sub-directory:

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

        Step 7: Modify EmulationStation to launch script files for Daphne/Singe

        Since starting a Singe title is done through calling ./run.sh script, a quick modification is required in EmulationStation so you can call script files (.sh) from ES.

        sudo nano /etc/emulationstation/es_systems.cfg
        

        Find daphne and add .sh and .SH under the <extension> field.

        Save the file and quit nano.

        NOTE: Also check for the existence of es_systems.cfg in /opt/retropie/configs/all/emulationstation and update the extensions for Daphne as well as per above.

        Step 8: Create Launch Scripts for Singe Games

        Now that you’ve got everything set up, you just need to create the launch script for your Singe titles to be launched from ES.

        Using Time Gal as an example:

        1. Create a file called +Start Timegal.sh in /home/pi/RetroPie/roms/daphne/
        2. Place the following in that file:
        cd /opt/retropie/emulators/singe
        ./run.sh timegal
        

        Step 9: Restart EmulationStation and Enjoy Singe!

        That’s all there is to it!

        Just restart EmulationStation / reboot your Pi and now you should have an entry under Daphne for the new Singe title (you can edit the metadata through ES to change the title).

        Let me know if you have any issues with the above, I’ve put together most of the above from memory, so I hope I didn’t miss anything, but if anyone comes across any errors, let me know.

        Enjoy!

        DirtBagXonD A 2 Replies Last reply Reply Quote 3
        • DirtBagXonD
          DirtBagXon @SaturnX
          last edited by

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

          @treasurefingers

          Here's a quick how-to guide for Singe that I've pieced together from various posts and people - this worked smoothly on my Pi4 setup, but I don't any reason it wouldn't work on a Pi3.

          Great work there @SaturnX , this post should be pinned if that's possible in this forum...

          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

          1 Reply Last reply Reply Quote 1
          • A
            AdamBeGood @SaturnX
            last edited by AdamBeGood

            @saturnx

            I am having a nightmare here.

            Everything has worked perfectly up to this point, but my Emulation Station is not seeing the .sh files... Thanks so much for the write-up anyway, so clear!

            308ae352-2fa9-40a8-a4df-85d98352f14b-image.png

            I've tried .sh and .SH just in case.

            30dbaf6e-7cd8-4d4b-af96-8ad019f1ef3e-image.png

            <system>
              <name>daphne</name>
              <fullname>Daphne</fullname>
              <path>/home/pi/RetroPie/roms/daphne</path>
              <extension>.daphne .DAPHNE .sh .SH</extension>
              <command>/opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ daphne %ROM%</command>
              <platform>daphne</platform>
              <theme>daphne</theme>
            </system>
            

            I can't work out why. I can't see the singe folder either on Emulation Station, it is just the Daphne games I already had installed, that is all I can see.

            Any idea what might be going on here? I am so confused. I've checked my gamelist.xml to make sure I hadn't tried this before or anything stupid, and edited the files to be hidden. I am not in Kiosk or Kid mode. I've ran Daphne games and they all still work without issue.

            Ps. Also, Monkey Island 2 is probably my favourite game ever, so kudos on your Display Picture. :)

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

              @adambegood Glad to hear it's worked for you so far! Here's a couple thoughts:

              Check whether you have a copy of es_systems.cfg in the following location:

              /opt/retropie/configs/all/emulationstation

              If so, ensure you add .sh and .SH there as well under Daphne as well.

              Also when you edited /etc/emulationstation/es_systems.cfg you made sure to save? (i.e. edited though sudo nano)?

              Also, make sure that the files you created +Start Timegal.SH and +Start Hayate.SHdon't have a hidden extension (i.e. +Start Timegal.SH.txt)

              Try that and let me know how it pans out. I used the instructions I posted above and it worked without issue.

              We'll get you sorted out - you're so close!

              Also, just to confirm you're set up correctly, can you exit to terminal or SSH and type the following:

              cd /opt/retropie/emulators/singe
              ./run.sh
              

              You should receive a message saying that both Time Gal and Hayate are installed.

              And thanks! Without question LucasArts and other Point-and-Click adventures are my fave genre!

              D A 2 Replies Last reply Reply Quote 0
              • D
                dmmarti @SaturnX
                last edited by

                @saturnx Just wanted to drop by and say your above instructions were awesome.

                I've got it all installed and working good.

                Also, I tested the American Laser Games and the WoW Action Max games......yep, they also work on RetroPie now with Daphne Singe. They have a little tweak in their roms /singe folder path, but otherwise, they also run fine.

                Granted, I don't have any light gun to test with, I just tested to see if they would run and I could insert coins and start them to play.

                1 Reply Last reply Reply Quote 2
                • A
                  AdamBeGood @SaturnX
                  last edited by

                  @saturnx Superb! You were right about that second es_systems.cfg file. Good shout.

                  I am now getting chucked out when I select the .sh files though, I just get a black screen.

                  My runcommand.log shows:

                  Parameters: 
                  Executing: bash "/home/pi/RetroPie/roms/daphne/+Start Timegal.sh"
                  Singe Launcher : Script dir is /opt/retropie/emulators/singe
                  
                  Missing file: /home/pi/.daphne/singe/timegal/timegal.singe ?
                                /home/pi/.daphne/singe/timegal/timegal.txt ?
                  

                  I have no such directory as .daphne, so unsure why it is looking there..?

                  I ran the command you mentioned and got this, which looks okay.

                  Singe Launcher : Script dir is /opt/retropie/emulators/singe
                  Specify a game to try:
                  
                  ./run.sh [-fullscreen] <gamename>
                  
                  Games available:
                          hayate timegal
                  
                  DirtBagXonD 1 Reply Last reply Reply Quote 0
                  • DirtBagXonD
                    DirtBagXon @AdamBeGood
                    last edited by

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

                    @saturnx Superb! You were right about that second es_systems.cfg file. Good shout.

                    I am now getting chucked out when I select the .sh files though, I just get a black screen.

                    My runcommand.log shows:

                    Parameters: 
                    Executing: bash "/home/pi/RetroPie/roms/daphne/+Start Timegal.sh"
                    Singe Launcher : Script dir is /opt/retropie/emulators/singe
                    
                    Missing file: /home/pi/.daphne/singe/timegal/timegal.singe ?
                                  /home/pi/.daphne/singe/timegal/timegal.txt ?
                    

                    Looks mostly there, is this a case issue? Remember RetroPie runs linux and linux is case sensitive on filenames.

                    Should be all lowercase.

                    Presuming you did SaturnX's:

                    sudo ln -s /home/pi/RetroPie/roms/daphne/singe ~/.daphne/singe
                    

                    Run

                    ls -al /home/pi/.daphne/singe/timegal/*
                    

                    to see the files in there....

                    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

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

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

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

                      @saturnx Superb! You were right about that second es_systems.cfg file. Good shout.

                      I am now getting chucked out when I select the .sh files though, I just get a black screen.

                      My runcommand.log shows:

                      Parameters: 
                      Executing: bash "/home/pi/RetroPie/roms/daphne/+Start Timegal.sh"
                      Singe Launcher : Script dir is /opt/retropie/emulators/singe
                      
                      Missing file: /home/pi/.daphne/singe/timegal/timegal.singe ?
                                    /home/pi/.daphne/singe/timegal/timegal.txt ?
                      

                      Looks mostly there, is this a case issue? Remember RetroPie runs linux and linux is case sensitive on filenames.

                      Should be all lowercase.

                      Presuming you did SaturnX's:

                      sudo ln -s /home/pi/RetroPie/roms/daphne/singe ~/.daphne/singe
                      

                      Run

                      ls -al /home/pi/.daphne/singe/timegal/*
                      

                      to see the files in there....

                      Okay, that makes sense. Let me have a look at this again in the morning. Thanks, @DirtBagXon

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

                        @adambegood

                        Yep the symlink (lncommand) is important. It may also be a case issue, I’ll correct my guide.

                        You’re so close!!

                        A DirtBagXonD 2 Replies Last reply Reply Quote 0
                        • A
                          AdamBeGood @SaturnX
                          last edited by AdamBeGood

                          Thanks so much, @dirtbagxon and @saturnx !

                          My mistake was running the SSH as Root, so the symlinks were in totally the wrong place! Doh.

                          All resolved now, and the games do run.

                          Two problems -

                          • They only run in the top left quarter of my screen, any idea where the config is to change that? Daphne runs full screen (bordered but mostly full)

                          • I can't seem to get Time Gal to play once it loads, I have a button that puts Credits in and one that restarts me back to the Taito screen, but nothing seems to actually start the game. Do I need to mess about with my joystick config? I could start Dragon's Lair, I tried that yesterday.

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

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

                            • They only run in the top left quarter of my screen, any idea where the config is to change that? Daphne runs full screen (bordered but mostly full)

                            This is an SDL fullscreen issue. Two things to check:

                            • Make sure you are passing the -fullscreen argument to the run.sh script in your Timegal.sh script
                            ./run.sh -fullscreen timegal
                            
                            • Some SDL implmentations on Pi don't use SDL_FULLSCREEN correctly, so use this part from the F.A.Q. in the repo to workaround:
                            Fullscreen './run.sh -fullscreen <game>' does not work, but produces no error.
                            
                            Try -fullscreen_window instead, using SDL_NOFRAME instead of SDL_FULLSCREEN
                            This can be altered in the run.sh thus:
                            if [ "$1" = "-fullscreen" ]; then
                            -   FULLSCREEN="-fullscreen"
                            +   FULLSCREEN="-fullscreen_window"
                                shift
                            fi
                            

                            Others have altered the resolution X and Y dimensions in the run.sh to fit their screen, but I think the -fullscreen_window will auto correct this. Happy to hear feedback.

                            The second issue looks like a key binding issue, not too sure on that and joysticks.....

                            Are you sure you copied or linked the daphneinput.ini, with the working config, to singeinput.ini and the correct location ? Might be another '~' user issue.

                            cat /home/pi/.daphne/singeinput.ini
                            

                            You should see:

                            ..
                            Looking for: singeinput.ini
                            Remapping input ...
                            ..
                            

                            if it finds it correctly.

                            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

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

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

                              @adambegood

                              Yep the symlink (lncommand) is important. It may also be a case issue, I’ll correct my guide.

                              You’re so close!!

                              @SaturnX

                              Might be better to use /home/pi/ in the guide to replace ~

                              It will catch these issues when run as the wrong user ?

                              BTW: I have linked to your guide in the Github repo - I hope you don't mind :)

                              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 2
                              • A
                                AdamBeGood @DirtBagXon
                                last edited by AdamBeGood

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

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

                                • They only run in the top left quarter of my screen, any idea where the config is to change that? Daphne runs full screen (bordered but mostly full)

                                This is an SDL fullsize issue. Two things to check:

                                • Make sure you are passing the -fullscreen argument to the run.sh script in your Timegal.sh script
                                ./run.sh -fullscreen timegal
                                
                                • Some SDL implmentations on Pi don't use SDL_FULLSCREEN correctly, so use this part from the F.A.Q. in the repo to workaround:
                                Fullscreen './run.sh -fullscreen <game>' does not work, but produces no error.
                                
                                Try -fullscreen_window instead, using SDL_NOFRAME instead of SDL_FULLSCREEN
                                This can be altered in the run.sh thus:
                                if [ "$1" = "-fullscreen" ]; then
                                -   FULLSCREEN="-fullscreen"
                                +   FULLSCREEN="-fullscreen_window"
                                    shift
                                fi
                                

                                Others have altered the resolution dimensions in the run.sh to fit their screen, but I think the -fullscreen_window will auto correct this. Happy to hear feedback.

                                Key binding is sorted now.

                                I am not sure how to implement this code at all, sorry for being such a noob. I tried just changing -fullscreen to -fullscreen_window and that didn't work. The below attempt still results in a quarter screen display.

                                cd /opt/retropie/emulators/singe
                                ./run.sh -fullscreen timegal
                                if [ "$1" = "-fullscreen" ]; then
                                -   FULLSCREEN="-fullscreen"
                                +   FULLSCREEN="-fullscreen_window"
                                    shift
                                fi
                                

                                Sorry for not being able to run with this successfully.

                                Edit: Okay, I've worked out that I need to amend the run.sh now.

                                I've amended the fullscreen section to reflect the above. https://pastebin.com/ejxNNCnN

                                Is there another further I need to do?

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

                                All good now! Thanks so much again, @DirtBagXon and @SaturnX !

                                DirtBagXonD G 2 Replies Last reply Reply Quote 1
                                • DirtBagXonD
                                  DirtBagXon @AdamBeGood
                                  last edited by DirtBagXon

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

                                  Sorry for not being able to run with this successfully.

                                  Edit: Okay, I've worked out that I need to amend the run.sh now.

                                  I've amended the fullscreen section to reflect the above. https://pastebin.com/ejxNNCnN

                                  Is there another further I need to do?

                                  There are a couple of mechanisms to getting singe to display in fullscreen.

                                  • A static fullscreen resolution can be set manually. See Note: 3 below.
                                  • Or an auto-scaling fullscreen can be achieved by altering run.sh as detailed in the github F.A.Q.:

                                  1.   You should have one or other of the FULLSCREEN= lines in run.sh.

                                  So the section should read either:

                                  if [ "$1" = "-fullscreen" ]; then    
                                      FULLSCREEN="-fullscreen"
                                      shift
                                  fi
                                  

                                  OR

                                  if [ "$1" = "-fullscreen" ]; then
                                      FULLSCREEN="-fullscreen_window"  
                                      shift
                                  fi
                                  

                                   

                                  2.   However, this is only used when the run.sh script is given the -fullscreen argument:

                                  ./run.sh -fullscreen <game>
                                  

                                  So using SaturnX's setup. this is done within the Timegal.sh file indicated in this line of his setup:

                                  Create a file called +Start Timegal.sh in /home/pi/RetroPie/roms/daphne/
                                  

                                  Within that file, SaturnX states you need to add:

                                  cd /opt/retropie/emulators/singe
                                  ./run.sh timegal
                                  

                                  You will need to change this to:

                                  cd /opt/retropie/emulators/singe
                                  ./run.sh -fullscreen timegal
                                  

                                   

                                  Note 1: The -fullscreen argument is within two scripts, run.sh and Timegal.sh, they are separate and related but different.

                                  -fullscreen_window is an SDL command used only in run.sh (if you change it) to overcome a SDL limitation in the Pi displaying fullscreen. (See below)

                                  Note 2: Until you have tried the changes in Timegal.sh you won't know if you need to alter run.sh to -fullscreen_window - as the F.A.Q. states:

                                  Fullscreen './run.sh -fullscreen <game>' does not work, but produces no error.

                                  Note 3: An alternate solution that can be used, is to alter the -x and -y values in run.sh to your current screen resolution. This change is not auto-sensing and will require a manual change if the screen resolution is ever changed.

                                   ..
                                   -volume_vldp 30 \                          
                                   -x 1920 \
                                   -y 1080
                                  

                                  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

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

                                    @dirtbagxon great idea, I’ll update the guide. And no issues at all with linking to guide, the more awareness the better!

                                    T 1 Reply Last reply Reply Quote 3
                                    • A
                                      AdamBeGood @DirtBagXon
                                      last edited by

                                      @dirtbagxon All good, thank you very very much! The games are hard as nails though!

                                      1 Reply Last reply Reply Quote 2
                                      • T
                                        TreasureFingers @SaturnX
                                        last edited by

                                        @saturnx

                                        Thank you for stirring the fire back up. I wasn't sure if anyone would go through the steps of making a guide I am going to test this out .

                                        1 Reply Last reply Reply Quote 1
                                        • G
                                          Gamesman
                                          last edited by

                                          I get a weird folder for the Symlink of .daphne/singe:
                                          singe_folder.JPG

                                          The Symlink for .daphne/pics is fine:
                                          pics_folder.JPG

                                          If I try to open the .daphne/singe/singe folder I get this error:
                                          singe_error.JPG

                                          The Symlinks for pics and sound go to their respective Symlink folders.

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

                                            @Gamesman

                                            In my instructions, /home/pi/.daphne/singe should symlink to /home/pi/RetroPie/roms/daphne/singe

                                            Did you create the new singe directory under your Daphne roms folder before creating the symlink?

                                            You’ll need to remove the symlink you created and recreate. Did you use the commands in my post?

                                            Let me know!

                                            G 1 Reply Last reply Reply Quote 0
                                            • 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.