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 100.9k 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.
    • B
      bronze
      last edited by

      Hi guys, new to GitHub, setting up Retropie on raspberry pi 4 for light guns (new sinden light gun) and want to add the singe shooters. I have Daphne running already. But I'm at a loss as to how to compile this to get started. I have all the games, etc.
      Can someone get me started on how to set this up via command line? I should be able to sort the file placement from there.
      Thanks

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

        @bronze

        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
        

        Checkout source code:

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

        Enter directory and compile:

        cd singe
        cd src/vldp2
         ./configure --disable-accel-detect
         make -f Makefile.linux
         cd ../game/singe
         make -f Makefile.linux
         cd ../..
         make
         cd ..
         mkdir -p ~/.daphne/singe ~/.daphne/sound ~/.daphne/pics
         cp pics/singeme.bmp ~/.daphne/pics/
         cp pics/gamenowook.bmp ~/.daphne/pics/
         cp sound/grumble.wav ~/.daphne/sound/
        

        If issues, post the results....

        If looks good, run from ~/singe

        ./run.sh timegal
        

        Again post the results if there are issues.

        As stated above your games should be in the directory based on the user you are running the run.sh scripts as:

        ~/.daphne/singe/
        

        Also, for games Time Gal and Ninja Hayate, please refer to the comments here:

        https://github.com/DirtBagXon/singe/tree/master/bytecode

        For your light gun and other settings, create a singe specific config file as:

        ~/.daphne/singeinput.ini

        It can mirror many of the daphne config options.

        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
        • pjftP
          pjft
          last edited by

          @DirtBagXon Thanks for this - only now did I see that you had put this together. Awesome work.

          A remark: passing a path with capital letters as the home dir will fail when loading the game script:

          Setting alternate home dir:
          /home/pi/RetroPie/roms/daphne
          /home/pi/retropie/roms/daphne/singe/timegal/timegal.singe
          Script /home/pi/retropie/roms/daphne/singe/timegal/timegal.singe does not exist.
          

          Notice RetroPie being capitalized when passing it, but then lowercase.

          It moves past this if I just symlink from ~/.daphne, but thought I'd share.

          Thanks.

          @Darksavior still no Road Blaster, I take it? We're on the same quests throughout these years - Time Gal and Road Blaster :D

          DarksaviorD 1 Reply Last reply Reply Quote 1
          • DarksaviorD
            Darksavior @pjft
            last edited by Darksavior

            @pjft Nope, that's not on the singe engine. I want that game playable too. I'll have to settle for the ps1 version.

            pjftP 2 Replies Last reply Reply Quote 1
            • pjftP
              pjft @Darksavior
              last edited by

              @Darksavior There are two competent (and more enjoyable versions, though less quality graphics) out there, if you'd care to try them out: an SNES MSU-1 remake, and an Amiga remake as well. They also remade Time Gal on the Amiga.

              Question here: did you get the video to render full screen? What options did you use?

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

                @Darksavior Following the thread, when I run with XINIT (sudo xinit ./singe etc) I get a "could not open the VLDP2 dynamic library", which I imagine means that when running either as sudo or in xinit it's looking for libvldp2.so elsewhere somehow.

                I might be completely off track here, but thought I'd close the night with my current status.

                Also, if possible, can you share your dapinput.ini file? My results with my current one are inconsistent - it maps the analog sticks while on daphne I use the cursors, which I prefer.

                Thanks.

                DarksaviorD 1 Reply Last reply Reply Quote 0
                • DarksaviorD
                  Darksavior @pjft
                  last edited by Darksavior

                  @pjft Not sure about your problems, I just followed the directions, and from some help with the dev to correct my own mistakes, it runs. I haven't integrated it into retropie yet. I'll have to take a look at the launching scripts and all to figure it out on my own.

                  My dainput? It's mapped to my snes pad without analog inputs. Not sure if it'll help you with analog. You can look at the retropie daphne wiki about manually setting it up yourself. Use jstest to figure it out.

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

                    @Darksavior sounds good. Mine works fine, but not fullscreen, hence the question. As you're on the pi 4 I was asking what options had you used or what command line to get it to work as such.

                    If I use the xinit approach mentioned earlier I get the game in full screen but also the error with vldp2 - which I'm sure I'll be able to dig into with some more time. If this is the way, @DirtBagXon do you have any thoughts on what path might it be looking for?

                    If I don't, it just runs on a corner of the screen, hence my question as to how you approached that to see what might be missing here.

                    As for the input file, I'll look into the docs then for a sample and more detailed instructions.

                    I'll test things out some more tomorrow and report back any findings as well, but any pointers or suggestions can send me looking in the right direction.

                    Thanks.

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

                      @pjft I set my resolution by editing run.sh. Singe doesn't stretch to fit so it has to be the exact res your tv/monitor is.

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

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

                        @Darksavior Following the thread, when I run with XINIT (sudo xinit ./singe etc) I get a "could not open the VLDP2 dynamic library", which I imagine means that when running either as sudo or in xinit it's looking for libvldp2.so elsewhere somehow.

                        @DirtBagXon do you have any thoughts on what path might it be looking for?

                        The libvldp2.so library is in the same directory as the singe.bin binary and library: libsinge.so. Which by default would be /home/pi/singe if you followed the above directions.

                        If you are writing, or using, another script, you need to look at the LD_LIBRARY_PATH part of the script. You will need to ensure that the directory where the singe.bin, and therefore libvldp2.so, are at the beginning of this LIBRARY search path when singe starts. Something like:

                        export LD_LIBRARY_PATH=/home/pi/singe:$DAPHNE_SHARE:$LD_LIBRARY_PATH
                        

                        You can of course use/change VARIABLES as in the original scripts.

                        A good debug is to add an echo in the script just before the singe binary runs. This will tell you where singe is searching for libraries.

                        e.g.

                        echo $LD_LIBRARY_PATH
                        
                        ./$SINGE_BIN \
                        $DAPHNE_SHARE/singe/$1/$1.singe \
                        ..
                        ..
                        

                        Hope this helps....

                        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
                        • pjftP
                          pjft
                          last edited by

                          Thanks - it does help.

                          I actually managed to get it running per @Darksavior 's tip on setting the full screen resolution on the run.sh file, and it works perfect.

                          I submitted a PR to your GitHub repository based on some changes to Daphne's controls a few years back that helped specific joysticks be better recognized. I don't take any offense if it isn't merged, but thought I'd contribute it upstream given that it's what helps the game's controls work as intended on my arcade with the DragonRise adapter.

                          As for Road Blaster, an interesting thing: the same code in a arm64 device runs the game correctly, but not on the Pi.

                          Specifically, when it works, there's a message:

                          Error! write to main rom at e600

                          But, when it fails (on the Pi), we get:

                          Error! write to main rom at a80f
                          Error! write to main rom at f8ec
                          

                          I'm going to dig into it and see if I can work something out.

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

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

                            I submitted a PR to your GitHub repository based on some changes to Daphne's controls a few years back that helped specific joysticks be better recognized. I don't take any offense if it isn't merged, but thought I'd contribute it upstream given that it's what helps the game's controls work as intended on my arcade with the DragonRise adapter.

                            Looks fine, but should be applied via a command line option, not by default.

                            I have added a comment on the pull request.

                            Many thanks for contributing.

                            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
                            • pjftP
                              pjft @DirtBagXon
                              last edited by

                              @DirtBagXon Got it. Let me try to go back and see what changes would need to be done on my end to get that sorted as an option. I left a comment there for you as well.

                              Thanks.

                              1 Reply Last reply Reply Quote 0
                              • B
                                bronze
                                last edited by

                                @DirtBagXon thanks heaps for the quick reply, will tackle this later in the week!

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

                                  @Darksavior and I finally fixed Road Blaster on the Pi.

                                  https://github.com/RetroPie/daphne-emu/pull/17

                                  Feeling badass.

                                  EDIT: it's now been merged, so installing Daphne from source should work. It may even fix Bega's Battle or others, as I believe the code is shared, but no promises there.

                                  IMG_3433.jpg

                                  IMG_3434.jpg

                                  Feel free to test the code here until it's approved:

                                  https://github.com/pjft/daphne-emu/tree/patch-1

                                  DirtBagXonD G 2 Replies Last reply Reply Quote 3
                                  • DirtBagXonD
                                    DirtBagXon @pjft
                                    last edited by DirtBagXon

                                    @pjft

                                    https://github.com/DirtBagXon/daphne/commit/7d4bf3cdaff98a795ef2e51a823555e25f574ff9

                                    Hope you don't mind, I have pushed this into my Daphne and created a pull request back to DavidGriffith/daphne, to keep Daphne alive.

                                    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 1
                                    • pjftP
                                      pjft @DirtBagXon
                                      last edited by

                                      @DirtBagXon Don't mind at all - thank you.

                                      Actually, a more accurate - or perhaps complementary fix - which I submitted to the repo as well is to compile things with -fsigned-char. You might want to send it over as well.

                                      https://github.com/RetroPie/daphne-emu/commit/40ce24dd136356d903eb6476ff9dfcef12e7d8bd

                                      Hope it helps - glad to help keep it alive.

                                      As for the PR in your repo, I fully understand where you're coming from - I didn't have time yet to revise the code (you can tell where I spent my time :D ) but I should get to it at some point. Don't take my silence as having disagreed with your comments. :)

                                      Thanks.

                                      1 Reply Last reply Reply Quote 0
                                      • G
                                        gomisensei @pjft
                                        last edited by

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

                                        @Darksavior and I finally fixed Road Blaster on the Pi.

                                        https://github.com/RetroPie/daphne-emu/pull/17

                                        Feeling badass.

                                        EDIT: it's now been merged, so installing Daphne from source should work. It may even fix Bega's Battle or others, as I believe the code is shared, but no promises there.

                                        Can confirm bega's battle works due to this change...

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

                                          @gomisensei Awesome - great to hear.

                                          If anyone can check whether BadLands works with the new build from source (from right about now, as I submitted more changes to the build process), that'd be interesting. I don't have any recollection or suggestion that Badlands should work because of this change, though, but doesn't hurt.

                                          Thanks.

                                          G S 2 Replies Last reply Reply Quote 1
                                          • G
                                            gomisensei @pjft
                                            last edited by gomisensei

                                            @pjft badlands doesn't seem to work, even after changes to the Makefile the log shows

                                            YUV overlay is done in software (ie unaccelerated).
                                            Booting ROM ...
                                            Write to ffff with 0
                                            Write to ffff with 0
                                            Write to 1 with 0
                                            Write to ff with 0
                                            

                                            repeating over and over and no video shows, tho I can still exit cleanly.

                                            edit: tried the prototype rom as well, threw up different numbers, but same result.

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