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.
    • SaturnXS
      SaturnX
      last edited by

      @DirtBagXon and @pjft wanted to pop in and say thanks!

      Thanks for all your hard work and effort on Daphne and Singe.

      I’ve now got Daphne (with DragonRise/joystick issues fixed) along with compatibility for Badlands, Road Blaster, and Bega’s Battle along with Singe (Time Gal and Ninja Hayate) running like a dream on my Pi4 arcade cab.

      I integrated the Singe titles into the “Daphne” system in EmulationStation for a seamless user experience.

      Thanks again!!!

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