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.3k 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.
    • DirtBagXonD
      DirtBagXon @TreasureFingers
      last edited by

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

      @dirtbagxon
      Is it 'its own thing now or does it still rely on daphne?

      Both v2 and my v1.18 repo are standalone Singe.

      Pleasure helping out, but I'm afraid I don't know the Emulationstation interface to help 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

      1 Reply Last reply Reply Quote 0
      • S
        shift
        last edited by shift

        @dirtbagxon

        First install the correct tools and libraries:

        sudo apt-get install git make build-essential 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
        

        After this point there is the result (I have translated from Italian to english error message):

        To continue? [Y / n] Y
        Selected package libjbig-dev: armhf not previously selected.
        dpkg: fatal unrecoverable error, exit:
          the file with the file list of the "raspi-config" package is missing the final newline
        E: Sub-process / usr / bin / dpkg returned an error code (2)
        

        I continued ignoring the error

        cd ~
        git clone https://github.com/DirtBagXon/singe.git singe
        

        Here everything is ok.

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

        Here everything is ok.

         cd ../game/singe
         make -f Makefile.linux
        

        After this command instead the error was this:

        g++  -fPIC  -c -o singeproxy.o singeproxy.cpp
        In file included from singeproxy.cpp:23:
        singeproxy.h:36:10: fatal error: SDL/SDL_image.h: File o directory non esistente
         #include <SDL/SDL_image.h>
                  ^~~~~~~~~~~~~~~~~
        compilation terminated.
        make: *** [<incorporato>:  singeproxy.o] Error 1
        

        I used a raspberry pi 4 with 4GB**** with Retropie 4.7.1

        Can you figure out how to correct the problem?

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

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

          @dirtbagxon

          First install the correct tools and libraries:

          sudo apt-get install git make build-essential 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
          

          After this point there is the result (I have translated from Italian to english error message):

          To continue? [Y / n] Y
          Selected package libjbig-dev: armhf not previously selected.
          dpkg: fatal unrecoverable error, exit:
            the file with the file list of the "raspi-config" package is missing the final newline
          E: Sub-process / usr / bin / dpkg returned an error code (2)
          

          I continued ignoring the error

          You need to clear this error or the dependencies will not be installed and you will see the later errors.

          Looks like you packaging system is a little broken.

          What happens if you run the following two commands?

          sudo apt-get update
          
          sudo apt-get upgrade
          

          It looks like a broken package file, so the above may work, it could also be filesystem corruption (sd card), seems to be some similar issues here:

          https://www.raspberrypi.org/forums/viewtopic.php?t=187936

          If you can't get the development packages installed, try running the compiled binaries I put in the repository:

          From the folder singe folder you cloned via git:

          cd binaries/$(uname -m)
          
          cp *.so singe.bin ../..
          
          cd ../..
          

          Then ./run.sh

          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

          S 2 Replies Last reply Reply Quote 0
          • S
            shift @DirtBagXon
            last edited by

            @dirtbagxon Thank you for the answer, I did the upgrades as you told me, but I got the same error as before, so now I'm testing the SD and if everything is ok I reinstall Retropie "clean" and then I immediately install your package. I keep you updated.

            1 Reply Last reply Reply Quote 0
            • S
              shift @DirtBagXon
              last edited by

              @dirtbagxon You were right, it was just a Retropie installation error. Now everything goes. To your scripts I just had to add this line:

              cp ~/singe/pics/* ~/.daphne/pics/
              

              because the system could not find this file: ConsoleFont.bmp (and probably the same error would have given it also for the other .bmp)

              I changed your script (run.sh) to have the full screen on a Full HD (1920 x 1080) TV by changing the -x and -y parameters, because I noticed that the -fullscreen command is not recognized.

              For Ninjia Hayate and Timetraveler I kept your parameters -x 800 and -y 600 because unfortunately they don't accept higher resolutions.

              Now I want to try ActionMax.

              Thanks for everything. I keep you updated.

              DirtBagXonD S 2 Replies Last reply Reply Quote 0
              • DirtBagXonD
                DirtBagXon @shift
                last edited by

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

                @dirtbagxon You were right, it was just a Retropie installation error. Now everything goes. To your scripts I just had to add this line:

                cp ~/singe/pics/* ~/.daphne/pics/
                

                I have altered the repo README to clarify the installation process, thank you.

                I changed your script (run.sh) to have the full screen on a Full HD (1920 x 1080) TV by changing the -x and -y parameters, because I noticed that the -fullscreen command is not recognized.

                The -fullscreen option should work thus:

                ./run.sh -fullscreen timegal
                

                Can you supply the error if this doesn't work ?

                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

                S 1 Reply Last reply Reply Quote 0
                • S
                  shift @DirtBagXon
                  last edited by

                  @dirtbagxon

                  The -fullscreen option should work thus:

                  ./run.sh -fullscreen timegal
                  

                  Can you supply the error if this doesn't work ?

                  No error returns but the image remains 800x600 in the upper left corner. It is as if the -fullscreen parameter is not considered at all.

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

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

                    @dirtbagxon

                    The -fullscreen option should work thus:

                    ./run.sh -fullscreen timegal
                    

                    Can you supply the error if this doesn't work ?

                    No error returns but the image remains 800x600 in the upper left corner. It is as if the -fullscreen parameter is not considered at all.

                    Interesting, I am unable to replicate this, effectively SDL ignoring:

                    sdl_flags |= SDL_FULLSCREEN;
                    

                    Anyone else seen this issue?

                    Perhaps a Retropie frontend setting?

                    If you make these changes in run.sh

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

                    Then run with the -fullscreen argument again?

                    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

                    G S 2 Replies Last reply Reply Quote 0
                    • G
                      gomisensei @DirtBagXon
                      last edited by

                      @dirtbagxon -fullscreen does nothing on retropie, maybe on X... you can set the resolution in command line with -x 1024 -y 768 (or whatever your screen dimensions are) to fill the screen.

                      1 Reply Last reply Reply Quote 0
                      • S
                        shift @DirtBagXon
                        last edited by

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

                        If you make these changes in run.sh

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

                        Then run with the -fullscreen argument again?

                        Yes! Now it works perfectly!

                        Another question ... Is it possible to use the analog stick of the joypad as if it were a mouse?

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

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

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

                          If you make these changes in run.sh

                          Then run with the -fullscreen argument again?

                          Yes! Now it works perfectly!

                          ░░░░░░░░░░░░▄▄░░░░░░░░░
                          ░░░░░░░░░░░█░░█░░░░░░░░
                          ░░░░░░░░░░░█░░█░░░░░░░░
                          ░░░░░░░░░░█░░░█░░░░░░░░
                          ░░░░░░░░░█░░░░█░░░░░░░░
                          ███████▄▄█░░░░░██████▄░
                          ▓▓▓▓▓▓█░░░░░░░░░░░░░░█░
                          ▓▓▓▓▓▓█░░░░░░░░░░░░░░█░
                          ▓▓▓▓▓▓█░░░░░░░░░░░░░░█░
                          ▓▓▓▓▓▓█░░░░░░░░░░░░░░█░
                          ▓▓▓▓▓▓█░░░░░░░░░░░░░░█░
                          ▓▓▓▓▓▓█████░░░░░░░░░█░░
                          ██████▀░░░░▀▀██████▀░░░

                          The -fullscreen_window argument should also work on the Daphne repo, if anyone had similar issues there.

                          i.e. using SDL_NOFRAME instead of SDL_FULLSCREEN.

                          Another question ... Is it possible to use the analog stick of the joypad as if it were a mouse?

                          I recently merged a pull request from @grant2258 and @pjft regarding clearing down the default joystick config.

                          Perhaps they can offer some help on setup of joystick config.

                          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

                          pjftP 1 Reply Last reply Reply Quote 0
                          • S
                            shift @shift
                            last edited by

                            @dirtbagxon

                            Now I want to try ActionMax.

                            I can confirm that the Action Max games work perfectly!

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

                              @dirtbagxon Thanks for tagging me here.

                              @shift the joysticks should work by default out of the box. They are not, however, mapped to the mouse but rather to the directions so if you're going to try that I'd recommend exploring the depths and wonders of https://retropie.org.uk/docs/Universal-Controller-Calibration-%26-Mapping-Using-xboxdrv/ - something I have never been able to do myself but that many speak wonders of.

                              S 1 Reply Last reply Reply Quote 0
                              • S
                                shift @pjft
                                last edited by

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

                                @shift the joysticks should work by default out of the box. They are not, however, mapped to the mouse but rather to the directions so if you're going to try that I'd recommend exploring the depths and wonders of https://retropie.org.uk/docs/Universal-Controller-Calibration-%26-Mapping-Using-xboxdrv/ - something I have never been able to do myself but that many speak wonders of.

                                Thanks for the information, as soon as I have some time I dedicate myself to it.

                                I only noticed now that you have created some fixes to run badlands and bega's battle with daphne, but I don't quite understand the changes I should make, I guess I should install Daphne from source, but before installing it I should modify some source. Have you already tried to see if it can also work on Raspberry? Thanks

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

                                  @shift The changes were done to support the Raspberry Pi, so they'd better :) More seriously, yes, just install from source from the RetroPie menu and it should be good to go.

                                  S 1 Reply Last reply Reply Quote 0
                                  • S
                                    shift @pjft
                                    last edited by

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

                                    @shift The changes were done to support the Raspberry Pi, so they'd better :) More seriously, yes, just install from source from the RetroPie menu and it should be good to go.

                                    Badlands, Bega's Battle, and Road Blaster work too!

                                    1 Reply Last reply Reply Quote 0
                                    • S
                                      shift
                                      last edited by

                                      @pjft @dirtbagxon

                                      Is there a command to check which roms daphne can run? I have searched around but there are no official lists of alternative roms it can run.

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

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

                                        @pjft @dirtbagxon

                                        Is there a command to check which roms daphne can run? I have searched around but there are no official lists of alternative roms it can run.

                                        @shift - Take a look at the Game Types here:

                                        http://www.daphne-emu.com/mediawiki/index.php/CmdLine

                                        Retropie, seems to have a compatibility list here too:

                                        https://github.com/RetroPie/RetroPie-Docs/blob/master/docs/Daphne.md

                                        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

                                        S 1 Reply Last reply Reply Quote 0
                                        • S
                                          shift @DirtBagXon
                                          last edited by

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

                                          @shift - Take a look at the Game Types here:

                                          http://www.daphne-emu.com/mediawiki/index.php/CmdLine

                                          Retropie, seems to have a compatibility list here too:

                                          https://github.com/RetroPie/RetroPie-Docs/blob/master/docs/Daphne.md

                                          Thanks, but unfortunately in those pages there is a lot of approximation, for example the rom dle20, which I know for sure that it works, is not even mentioned there. I would like to understand if it is possible to extrapolate from the code a precise list of roms that can be launched (not that they have to work, only that they can be launched).

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

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

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

                                            @shift - Take a look at the Game Types here:

                                            http://www.daphne-emu.com/mediawiki/index.php/CmdLine

                                            Retropie, seems to have a compatibility list here too:

                                            https://github.com/RetroPie/RetroPie-Docs/blob/master/docs/Daphne.md

                                            Thanks, but unfortunately in those pages there is a lot of approximation, for example the rom dle20, which I know for sure that it works, is not even mentioned there. I would like to understand if it is possible to extrapolate from the code a precise list of roms that can be launched (not that they have to work, only that they can be launched).

                                            If you want every game listed with a ROM entry in the codebase, then I would do: git grep m_shortgamename

                                            git grep m_shortgamename
                                            src/game/astron.cpp:    m_shortgamename = "astronp";
                                            src/game/astron.cpp:    m_shortgamename = "blazer";
                                            src/game/astron.cpp:    m_shortgamename = "galaxyp";
                                            src/game/astron.cpp:    m_shortgamename = "astron";
                                            src/game/astron.cpp:    m_shortgamename = "galaxy";
                                            src/game/astron.cpp:    m_shortgamename = "cobraab";
                                            src/game/badlands.cpp:  m_shortgamename = "badlands";   
                                            src/game/badlands.cpp:  m_shortgamename = "badlandp";   
                                            src/game/bega.cpp:   m_shortgamename = "bega";
                                            src/game/bega.cpp:         m_shortgamename = "begar1";
                                            src/game/bega.cpp:   m_shortgamename = "cobra";
                                            src/game/bega.cpp:   m_shortgamename = "roadblaster";
                                            src/game/cliff.cpp:     m_shortgamename = "cliff";
                                            src/game/cliff.cpp:     m_shortgamename = "gtg";
                                            src/game/cliff.cpp:     m_shortgamename = "cliffalt";
                                            src/game/cliff.cpp:     m_shortgamename = "cliffalt2";
                                            src/game/cobraconv.cpp: m_shortgamename = "cobraconv";
                                            src/game/esh.cpp:       m_shortgamename = "esh";        
                                            src/game/esh.cpp:               m_shortgamename = "eshalt";
                                            src/game/esh.cpp:               m_shortgamename = "eshalt2";
                                            src/game/esh.cpp:       m_shortgamename = "eshalt";
                                            src/game/esh.cpp:       m_shortgamename = "eshalt2";
                                            src/game/ffr.cpp:       m_shortgamename = "ffr";
                                            src/game/firefox.cpp:   m_shortgamename = "firefox";
                                            src/game/firefox.cpp:   m_shortgamename = "firefoxa";
                                            src/game/gpworld.cpp:   m_shortgamename = "gpworld";
                                            src/game/interstellar.cpp:      m_shortgamename = "interstellar";
                                            src/game/lair.cpp:      m_shortgamename = "lair";
                                            src/game/lair.cpp:                      m_shortgamename = "lair_f";
                                            src/game/lair.cpp:                      m_shortgamename = "lair_e";
                                            src/game/lair.cpp:      m_shortgamename = "dle11";
                                            src/game/lair.cpp:      m_shortgamename = "dle21";
                                            src/game/lair.cpp:              m_shortgamename = "dle20";
                                            src/game/lair.cpp:      m_shortgamename = "ace";
                                            src/game/lair.cpp:              m_shortgamename = "ace_a2";
                                            src/game/lair.cpp:              m_shortgamename = "ace_a";
                                            src/game/lair.cpp:      m_shortgamename = "sae";
                                            src/game/lair.cpp:      m_shortgamename = "lair_a";
                                            src/game/lair.cpp:              m_shortgamename = "lair_b";
                                            src/game/lair.cpp:              m_shortgamename = "lair_c";
                                            src/game/lair.cpp:              m_shortgamename = "lair_d";
                                            src/game/lair.cpp:              m_shortgamename = "lair_n1";
                                            src/game/lair.cpp:              m_shortgamename = "lair_x";
                                            src/game/lair2.cpp:     m_shortgamename = "lair2";
                                            src/game/lair2.cpp:     m_shortgamename = "ace91";
                                            src/game/lair2.cpp:                     m_shortgamename = "ace91_euro";
                                            src/game/lair2.cpp:                     m_nvram_filename = m_shortgamename = "lair2_315";
                                            src/game/lair2.cpp:                     m_nvram_filename = m_shortgamename = "lair2_211";
                                            src/game/lair2.cpp:                     m_nvram_filename = m_shortgamename = "lair2_300";
                                            src/game/lair2.cpp:                     m_nvram_filename = m_shortgamename = "lair2_314";
                                            src/game/lair2.cpp://                   m_nvram_filename = m_shortgamename = "lair2_317";
                                            src/game/lair2.cpp:                     m_nvram_filename = m_shortgamename = "lair2_318";
                                            src/game/lair2.cpp:                     m_shortgamename = "lair2";      // default version, so it gets the default name
                                            src/game/lair2.cpp:                     m_nvram_filename = m_shortgamename = "lair2_316_euro";
                                            src/game/lair2.cpp:                     m_nvram_filename = m_shortgamename = "lair2_319_euro";
                                            src/game/lair2.cpp:                     m_nvram_filename = m_shortgamename = "lair2_319_span";
                                            src/game/laireuro.cpp:  m_shortgamename = "laireuro";
                                            src/game/laireuro.cpp:  m_shortgamename = "aceeuro";
                                            src/game/laireuro.cpp:          m_shortgamename = "lair_ita";
                                            src/game/laireuro.cpp:          m_shortgamename = "lair_d2";
                                            src/game/lgp.cpp:       m_shortgamename = "lgp";
                                            src/game/mach3.cpp:     m_shortgamename = "mach3";
                                            src/game/mach3.cpp:     m_shortgamename = "uvt";
                                            src/game/mach3.cpp:     m_shortgamename = "cobram3";
                                            src/game/starrider.cpp: m_shortgamename = "starrider";
                                            src/game/superd.cpp:    m_shortgamename = "sdq";
                                            src/game/superd.cpp:    m_shortgamename = "sdqshort";
                                            src/game/superd.cpp:    m_shortgamename = "sdqshortalt";
                                            src/game/thayers.cpp:   m_shortgamename = "tq";
                                            src/game/thayers.cpp:           m_shortgamename = "tq_alt";
                                            src/game/thayers.cpp:           m_shortgamename = "tq_swear";
                                            src/game/timetrav.cpp:  m_shortgamename = "timetrav";
                                            

                                            But I know for a fact that quite a few aren't in a working state.

                                            http://www.dragons-lair-project.com/tech/

                                            Feel free to create a list, no one is actively working on this any more ;)

                                            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

                                            S 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.