RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    New Hypseus and lr-Daphne to add on Retropie-Setup

    Scheduled Pinned Locked Moved Ideas and Development
    daphnelaserdischypseusdaphne confighypseus config
    501 Posts 33 Posters 228.1k 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 @roslof
      last edited by DirtBagXon

      @roslof

      Ok, so here is your next challenge, add the lines with the + at the beginning in src/game/singe/singeproxy.cpp

      Near lines 996 and 1228

      @@ -996,6 +996,7 @@ static int sep_say_font(lua_State *L)
      dest.x = dest.x - ((g_se_overlay_width + (dest.x * 1.5))/28);
       
                       SDL_SetColorKey(textsurface, SDL_TRUE|SDL_RLEACCEL, 0);
      +                SDL_SetSurfaceBlendMode(textsurface, SDL_BLENDMODE_NONE);
                       SDL_BlitSurface(textsurface, NULL, g_se_surface, &dest);
                       SDL_FreeSurface(textsurface);
                      }
      @@ -1228,6 +1229,7 @@ static int sep_sprite_draw(lua_State *L)
                          if (dest.w == 137 && dest.h == 28) // SP
                               SDL_SetColorKey(g_spriteList[sprite], SDL_FALSE|SDL_RLEACCEL, 0x000000ff);
       
      +                        SDL_SetSurfaceBlendMode(g_spriteList[sprite], SDL_BLENDMODE_NONE);
                               SDL_BlitSurface(g_spriteList[sprite], NULL, g_se_surface, &dest);
                           }
             }
      

      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

      roslofR 1 Reply Last reply Reply Quote 1
      • roslofR
        roslof @DirtBagXon
        last edited by roslof

        @dirtbagxon said in New Hypseus and lr-Daphne to add on Retropie-Setup:

        Ok, so here is your next challenge...

        Ooh, you make this sound like a game!

        ...add the lines with the + at the beginning in src/game/singe/singeproxy.cpp
        Near lines 996 and 1228

        Done. BOOM!

        lives_fixed.png

        directional_arrow_fixed.png

        So, MUCH improved. You can tell by the directional arrow that it's still catching a little of the alpha blending (and turning it black) but again, HUGE improvement!

        EDIT: Tried SDL_BLENDMODE_BLEND which I'm assuming was default, 'cause was effectively back to square 1. Tried SDL_BLENDMODE_ADD and SDL_BLENDMODE_MOD, which resulted in nothing rendering.

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

          @roslof said in New Hypseus and lr-Daphne to add on Retropie-Setup:

          @dirtbagxon said in New Hypseus and lr-Daphne to add on Retropie-Setup:

          Ok, so here is your next challenge...

          EDIT: Tried SDL_BLENDMODE_BLEND which I'm assuming was default, 'cause was effectively back to square 1. Tried SDL_BLENDMODE_ADD and SDL_BLENDMODE_MOD, which resulted in nothing rendering.

          Yep, saw same result.

          I agree this setting is better, but the optimal look is with this Singe blending off SDL_BLENDMODE_NONE and SDL_HINT_RENDER_SCALE_QUALITY linear back on.

          Flicking through Daphne games (unaffected by the BLEND), nearest provided too stark a rendering to me on lair scoreboards etc..

          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

          roslofR 1 Reply Last reply Reply Quote 1
          • roslofR
            roslof @DirtBagXon
            last edited by roslof

            @dirtbagxon said in New Hypseus and lr-Daphne to add on Retropie-Setup:

            Flicking through Daphne games (unaffected by the BLEND), nearest provided too stark a rendering to me on lair scoreboards etc.

            Setting SDL_BLENDMODE_NONE effectively turns off SHADED and BLENDED font quality options. Trade-offs, for certain. Blended works nicely for the font in Time Traveler, but that's because the background is mostly black. Otherwise, the black edges can be a bit distracting.

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

              @roslof said in New Hypseus and lr-Daphne to add on Retropie-Setup:

              SDL_BLENDMODE_NONE

              SDL_BLENDMODE_NONE also causes a big issue in johnnyrock overlay....

              Thinking command line argument to switch off again... But getting late here, so will look at again tomorrow.

              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

              roslofR 1 Reply Last reply Reply Quote 0
              • roslofR
                roslof @DirtBagXon
                last edited by roslof

                @dirtbagxon said in New Hypseus and lr-Daphne to add on Retropie-Setup:

                Thinking command line argument to switch off again... But getting late here, so will look at again tomorrow.

                Makes sense. Great and unexpected progress/changes today. This has been fun to play with, so thank you again. Have a good rest and a great Easter.

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

                  @roslof

                  release 2.2.10 - roslof fix
                    * Disable long time default SDL_BLENDMODE_BLEND producing
                      clunky Singe graphics.
                    * -fullscreen_scale_nearest to override linear fullscreen
                      scaling, again degrading Singe graphics on certain displays.
                  

                  Thanks for all the help.

                  Happy Easter to all.

                   

                  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

                  roslofR 1 Reply Last reply Reply Quote 2
                  • roslofR
                    roslof @DirtBagXon
                    last edited by

                    @dirtbagxon said in New Hypseus and lr-Daphne to add on Retropie-Setup:

                    Thanks for all the help.
                    Happy Easter to all.

                    Amazing work, man!
                    Go to bed. Lol!
                    And thanks again.

                    shavecatS 1 Reply Last reply Reply Quote 0
                    • shavecatS
                      shavecat @roslof
                      last edited by

                      Hey guys ,
                      I just saw we can add puss in boots and titan ae ???
                      is that right ?? ?
                      so just add them and the will work ?

                      also i saw that


                      Maybe this all games that will work ?:):)

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

                        @shavecat Wow, Daitarn 3? I had that toy as a kid.

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

                          @shavecat said in New Hypseus and lr-Daphne to add on Retropie-Setup:

                          Hey guys ,
                          I just saw we can add puss in boots and titan ae ???
                          is that right ?? ?

                          Yes

                          so just add them and the will work ?

                          BUT they are not a straight drop-in, you need to do a bit of work :) Read back through this thread.

                           

                          • Obtain Singe 2 game - you will actually only need the .mp4 from this file. Unless you are porting yourself.

                          • Then recode the .mp4 to .m2v and .ogg files needed by Hypseus - details on the repo below.
                            You only need to do this once, but the faster the PC the better.

                            https://ffmpeg.org/download.html#build-windows - works well

                          • Then take the peripheral data from the directories on the new repo here: https://github.com/DirtBagXon/hypseus_singe_data

                          • Finally add the .m2v and .ogg file to that new directory and the rest is as per usual singe game setup. (Do not include any other old data)

                           
                          Singe2 games (that we have tried thus far) are working, but new ones need porting over (which is fairly straight forward ).
                          This is what the new repo holds data on. Link in my signature.

                          These are Fan Made games, so you can alter many aspects of what they do.

                          If we get enough interest in a specific game, and I can find it, I will look to port over.

                          OR you guys can attempt it, the details of steps are on in the new rep README

                          The only thing I would ask is you push the .singe and peripheral files back to the repo, for others to share. NO Video content!

                           

                          • As a last note, Singe 2 games with mouse support may be problematic, so best to avoid, but as I see it, most aren't... but happy tackle if enough interest.

                          • As a last, last note - As I said these are Fan Made games so if you have video content, and the game doesn't exist, you can write the game yourself. Do some Googling and learn a little bit about LUA scripting. You can copy large chunks of an existing game .singe code and alter to your needs.

                           

                          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

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

                             
                            Hypseus Singe 2.2.10 - More games ported

                            Excluding video encoding time, it takes under 5 minutes to port a game with practice.

                             
                            Games make an API call, I have implemented a pseudo API call for all new Singe 2 calls ported thus far (limited set used by developers currently).

                            You may encounter a new one if you port a new game so I need to see the error in the logs.

                            For those interested, I documented the API function lists here on last commit:

                            https://github.com/DirtBagXon/hypseus-singe/blob/master/doc/singe.txt

                             

                            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

                            jamrom2J 1 Reply Last reply Reply Quote 0
                            • jamrom2J
                              jamrom2 @DirtBagXon
                              last edited by

                              @dirtbagxon Just did the conversion from all Daphne to this new Hypseus/Singe format. Was super easy per the instructions...took roughly 15 min, only because I had to simlink 20 folders...

                              So cool to see Road Blasters and the other games that never worked all working and displaying scores.

                              Thank you for your hard work on this. It's great!

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

                                Deleting...

                                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

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

                                  Ok, so I have added joystick support to Singe games that support mice (gun games): maddog, crimepatrol, spacepirates etc....

                                  Could I ask you guys to test this out with your various joysticks? (It is the RetroPie branch + joystick addition)

                                  git clone --single-branch --branch singe-joystick https://github.com/DirtBagXon/hypseus-singe.git
                                  

                                  It takes additional argument of:   -js_range <1-10>   to alter joystick sensitivity: defaults to '5' currently.

                                   

                                  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

                                  roslofR 1 Reply Last reply Reply Quote 0
                                  • roslofR
                                    roslof @DirtBagXon
                                    last edited by

                                    @dirtbagxon said in New Hypseus and lr-Daphne to add on Retropie-Setup:

                                    It takes additional argument of:   -js_range <1-10>   to alter joystick sensitivity: defaults to '5' currently.

                                    It works great, and still retains mouse/trackball/lightgun functionality. With a DualShock 4, I created a few custom commands to use a value of 7, which is just about right for games like Mad Dog, where some scenes have you scanning a room for randomized targets. 5 is a little too slow. 8 and above and you start losing fidelity.

                                    I think the default is fine, as people can adjust to their liking.

                                    Great work with these updates!

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

                                      @roslof said in New Hypseus and lr-Daphne to add on Retropie-Setup:

                                      @dirtbagxon said in New Hypseus and lr-Daphne to add on Retropie-Setup:

                                      It takes additional argument of:   -js_range <1-10>   to alter joystick sensitivity: defaults to '5' currently.

                                      It works great, and still retains mouse/trackball/lightgun functionality. With a DualShock 4, I created a few custom commands to use a value of 7, which is just about right for games like Mad Dog, where some scenes have you scanning a room for randomized targets. 5 is a little too slow. 8 and above and you start losing fidelity.

                                      I think the default is fine, as people can adjust to their liking.

                                      On native video resolutions the default setting works fine. I had some guy on the repo who was forcing the resolution using -x 1920 -y 1080 -ignore_aspect_ratio which made it a little more interesting. It needed greater range.

                                      The range is now <1-20>  but with 5  still as the default. So many setups out there to cater for.

                                      20  is nuts in most cases.... but someone's joystick and resolution combination might need it.

                                      @roslof
                                      I assume you weren't forcing a resolution change ?

                                      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

                                      roslofR 1 Reply Last reply Reply Quote 0
                                      • roslofR
                                        roslof @DirtBagXon
                                        last edited by

                                        @dirtbagxon said in New Hypseus and lr-Daphne to add on Retropie-Setup:

                                        @roslof
                                        I assume you weren't forcing a resolution change ?

                                        Correct. No weirdness. Really not an issue here. I just needed a little extra speed to ensure sequenced targets that appear on opposite edges of the screen can be shot more easily.

                                        1 Reply Last reply Reply Quote 0
                                        • T
                                          tusabez
                                          last edited by

                                          This look great. I'm wondering if Dragonrise joysticks work with this emulator. I never could get it to work with the regular Daphne emulator as I understood it's only hardcoded for analog type joysticks or joysticks that respond as keyboard clicks. When I've run jstest /dev/input/js0, I get -32767 to 32767 for the joystick axis. I've looked at singeinput.ini but I'm not sure how or if can be modified to work with my joystick.

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

                                            @tusabez said in New Hypseus and lr-Daphne to add on Retropie-Setup:

                                            This look great. I'm wondering if Dragonrise joysticks work with this emulator. I never could get it to work with the regular Daphne emulator as I understood it's only hardcoded for analog type joysticks or joysticks that respond as keyboard clicks.

                                            Hi @tusabez,

                                            When I've run jstest /dev/input/js0, I get -32767 to 32767 for the joystick axis

                                            That is correct behaviour, and has no reflection on details below.

                                            I've looked at singeinput.ini but I'm not sure how or if can be modified to work with my joystick.

                                            As you mention 'singeinput.ini ' I assume you are using my old Singe client.
                                            Hypseus Singe has moved on some way from that.

                                            The latest version (v2.4.5 onwards) allows fairly advanced joystick configuration.

                                            It does still require specific config in the hypinput.ini (and alternates) and won't pickup libretro keys.

                                            I now have an Arcade1UP (SF2) cabinet with two Dragonrise controllers working perfectly, referencing keys on both controllers and altering axis direction.

                                            lsusb
                                            Bus 002 Device 004: ID 0079:0006 DragonRise Inc. PC TWIN SHOCK Gamepad
                                            Bus 002 Device 003: ID 0079:0006 DragonRise Inc. PC TWIN SHOCK Gamepad
                                            

                                            First read: https://github.com/DirtBagXon/hypseus-singe/blob/master/doc/hypinput.ini - then read it again.

                                             

                                            Ensure you understand that joystick 0 remains as 0, and 1 as 1. However, buttons and axis increment by one in config as '0' is special case. So button/axis 0 in jstest will become 1 in config on either joystick etc..

                                            Using jstest determine which is js0 and js1 and determine button and axis numbers (remembering the +1 ).

                                            My hypinput.ini for Dragonrise looks like this (remember the button numbers will be different for everyone as it it depends on what order you plugged each button into your USB decoder ): I use the COIN1 button on the second controller (106) to exit the emulator in this.

                                            I don't have a keyboard attached, so the first two arguments are left at default, only 3rd and 4th arguments are effective in the cabinet.

                                            [KEYBOARD]
                                            KEY_UP = 1073741906 0 0 0
                                            KEY_DOWN = 1073741905 0 0 0
                                            KEY_LEFT = 1073741904 0 0 0
                                            KEY_RIGHT = 1073741903 0 0 0
                                            KEY_COIN1 = 53 0 006
                                            KEY_COIN2 = 54 0 0
                                            KEY_START1 = 49 0 012
                                            KEY_START2 = 50 0 0
                                            KEY_BUTTON1 = 1073742048 0 011
                                            KEY_BUTTON2 = 1073742050 0 009
                                            KEY_BUTTON3 = 32 0 007
                                            KEY_SKILL1 = 1073742049 0 0
                                            KEY_SKILL2 = 122 0 0
                                            KEY_SKILL3 = 120 0 0
                                            KEY_SERVICE = 57 0 0 
                                            KEY_TEST = 1073741883 0 0
                                            KEY_RESET = 48 0 0
                                            KEY_SCREENSHOT = 1073741893 0 0
                                            KEY_QUIT = 27 0 106
                                            KEY_PAUSE = 112 0 0
                                            KEY_CONSOLE = 92 0 0
                                            KEY_TILT = 116 0 0
                                            END
                                            

                                             
                                            For flight based games, I also have an alternate config file flightkey.ini that reverses the Joystick Y axis for better orientated control (Something not possible in the original Daphne).

                                            I call this on the following (flight) games with the .commands argument extender:

                                            astron.daphne/astron.commands: -keymapfile flightkey.ini
                                            
                                            cobraab.daphne/cobraab.commands: -keymapfile flightkey.ini
                                            
                                            galaxy.daphne/galaxy.commands: -keymapfile flightkey.ini
                                            
                                            interstellar.daphne/interstellar.commands: -keymapfile flightkey.ini
                                            
                                            mach3.daphne/mach3.commands: -keymapfile flightkey.ini
                                            
                                            

                                            The only difference between this and the first configuration file above is:

                                            KEY_UP = 1073741905 0 0 +002
                                            KEY_DOWN = 1073741906 0 0 -002
                                            

                                            Both keyboard and first joystick (0)  Y axis (1(+1)) for UP/DOWN are reversed from default. This config is pretty default and will work on most setups.
                                            It is provided as flightkey.ini  in the repo.

                                             
                                            If jstest sees the axis and observes change as @tusabez noted, whether digital or analog, this should work.

                                             

                                            All hypseus configs need to be in:

                                            /opt/retropie/emulators/daphne/
                                            

                                            As per documenation, you can, and should, symlink them. Again as per documentation:

                                            /opt/retropie/configs/daphne/
                                            
                                            ln -s /opt/retropie/configs/daphne/hypinput.ini /opt/retropie/emulators/daphne/hypinput.ini
                                            ln -s /opt/retropie/configs/daphne/flightkey.ini /opt/retropie/emulators/daphne/flightkey.ini
                                            

                                            I hope this makes senses, kind of hard to document.

                                            If you want to change keyboard key assignment (1st and 2nd arguments) and understand the strange numbers, then reference this SDL2 keycode list:

                                            https://github.com/DirtBagXon/hypseus-singe/blob/master/doc/keylist.txt

                                            But defaults work fine and mimic original Daphne + I don't support multiple keyboards..... :)

                                             
                                            For any MS Windows users out there, I have now released a port. If anyone wants to try:
                                            https://github.com/DirtBagXon/hypseus-singe/tree/master/win32

                                             

                                            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

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