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 99.6k 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.
    • T
      TreasureFingers @shift
      last edited by

      @shift Any chance you could write out your steps for installing singe on pi 4 ? im dying to have it? there are bits and pieces everywhere and i cant follow.

      SaturnXS 2 Replies Last reply Reply Quote 1
      • 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
                                            • 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.