• Recent
  • Tags
  • Popular
  • Home
  • Docs
  • Register
  • Login
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.2k 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.
  • D
    DirtBagXon @roslof
    last edited by DirtBagXon 24 Mar 2021, 22:51

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

    Wonder if it's just a SW scaling issue.

    Yes, it could be scaling, or it could be just bad rendering via standard SDL_ttf  functions, all font are loaded into SDL in the same manner through the same functions. I went through quite a few fonts before I thought it looked 'right'.

    The beauty is now all these are external .tff fonts so if you find one that is better just drop it in, but share it with us and I can put in the repo ;)

    lair/ace/tq uses pixelboy

    lair2 uses whitrabt

    Edit:

    Found some other SDL font libraries, which render nicely, BUT work at the 'renderer' not 'surface' level that is currently required for the underlying YUV video updates.

    But this points the finger at the native SDL_ttf  libraries. Not an efficient way to implement:

    dloverlay.png
     
    dloverlay3.png
     

    However, I'm not sure these clean fonts look 'retro'.......

    Another option is to 'blend' the current font - (in -fullscreen this looks pretty good):
     

    dloverlay2.png

     

    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

    D 1 Reply Last reply 25 Mar 2021, 23:24 Reply Quote 1
    • D
      DirtBagXon @DirtBagXon
      last edited by 25 Mar 2021, 23:24

      After further investigation, the standard SDL_ttf  displays better blending with all the fonts in -fullscreen SDL_WINDOW_FULLSCREEN_DESKTOP  mode.

      I have merged changes, on the DL overlay blending, to the repo. Use arguments   '-blend_osd  -fullscreen'  for this behaviour:

      fullscreenrender-min.png

      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

      R 1 Reply Last reply 25 Mar 2021, 23:34 Reply Quote 0
      • R
        roslof @DirtBagXon
        last edited by 25 Mar 2021, 23:34

        @dirtbagxon ah, nice. Will give this a go. Looks more than promising.

        R 1 Reply Last reply 26 Mar 2021, 00:43 Reply Quote 0
        • R
          roslof @roslof
          last edited by roslof 26 Mar 2021, 00:43

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

          @dirtbagxon ah, nice. Will give this a go. Looks more than promising.

          Okay, checked it out. DEFINITELY looks better w/Dragon's Lair overlay (just like your screenshot). Great stuff!

          So this could also be applied to Time Traveler and other Daphne/Hypseus/Singe-based games?

          R D 2 Replies Last reply 26 Mar 2021, 04:45 Reply Quote 0
          • R
            roslof @roslof
            last edited by roslof 26 Mar 2021, 04:45

            @DirtBagXon just noticed that for any Singe game, the longer a video plays after a LaserDisc seek, the further the audio gets out of sync. This wasn't as obvious at first with Time Gal, but it does occur. Was MUCH more obvious with either of the Mad Dog McCree games. Doesn't take long before the video drifts away from the audio.

            Are you seeing/hearing similar? FWIW: I played around a bit with the -sound_buffer command-line, but it didn't have an impact on this issue.

            FWIW: Audio/Video is fine with any of the Daphne/Hypseus games.

            Cheers!
            -Ros

            D 1 Reply Last reply 26 Mar 2021, 05:10 Reply Quote 0
            • D
              DirtBagXon @roslof
              last edited by DirtBagXon 26 Mar 2021, 04:50

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

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

              @dirtbagxon ah, nice. Will give this a go. Looks more than promising.

              Okay, checked it out. DEFINITELY looks better w/Dragon's Lair overlay (just like your screenshot). Great stuff!

              So this could also be applied to Time Traveler and other Daphne/Hypseus/Singe-based games?

              In Singe based games there are options to do this by the game developer within the LUA code itself via the fontQuality argument:

              lua_register(g_se_lua_context, "fontQuality",        sep_font_quality);
              
              switch (g_fontQuality) {
              case 1:
                     textsurface = TTF_RenderText_Solid(font, message, g_colorForeground);
                     break;
              case 2:
                     textsurface = TTF_RenderText_Shaded(font, message, g_colorForeground, g_colorBackground);
                     break;
              case 3:
                     textsurface = TTF_RenderText_Blended(font, message, g_colorForeground);
                    break;
              }
              

              Check/Edit your .singe files.

              I could force an override via the -blend_osd flag, but due to the variation in font type, font colour and size (per game) it will give unpredictable results.

              For instance this is original (above) and forced blending (below) in TimeTraveler:

              compare.png

              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

              R 1 Reply Last reply 26 Mar 2021, 04:53 Reply Quote 1
              • R
                roslof @DirtBagXon
                last edited by 26 Mar 2021, 04:53

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

                Check/Edit your .singe files.

                Will give it a go now, thanks again!

                D 1 Reply Last reply 26 Mar 2021, 04:55 Reply Quote 0
                • D
                  DirtBagXon @roslof
                  last edited by DirtBagXon 26 Mar 2021, 04:55

                  @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:

                  Check/Edit your .singe files.

                  Will give it a go now, thanks again!

                  When you say give it a go, I assume you meant altering the .singe files ?

                  I made no changes.

                  Doesn't make sense from my side.

                  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

                  R 1 Reply Last reply 26 Mar 2021, 05:15 Reply Quote 0
                  • D
                    DirtBagXon @roslof
                    last edited by DirtBagXon 26 Mar 2021, 05:10

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

                    @DirtBagXon just noticed that for any Singe game, the longer a video plays after a LaserDisc seek, the further the audio gets out of sync. This wasn't as obvious at first with Time Gal, but it does occur. Was MUCH more obvious with either of the Mad Dog McCree games. Doesn't take long before the video drifts away from the audio.

                    Are you seeing/hearing similar? FWIW: I played around a bit with the -sound_buffer command-line, but it didn't have an impact on this issue.

                    FWIW: Audio/Video is fine with any of the Daphne/Hypseus games.

                    Cheers!
                    -Ros

                    This may be a weird LUA os_clock timing issue, I have seen it before on the previous Singe.

                    In the file src/game/singe.cpp - locate the line that reads:

                    g_ldp->think_delay(15);
                    

                    Try altering this value up or down, it will need a recompile (make) and reinstall (cp) after each change I'm afraid.
                    But the recompile will be very fast as only one file has changed.

                    The value is in micro seconds.

                    '15' works well on x86_64.

                    Let me know what value works best on the Pi.

                    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

                    R 1 Reply Last reply 26 Mar 2021, 05:18 Reply Quote 0
                    • R
                      roslof @DirtBagXon
                      last edited by 26 Mar 2021, 05:15

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

                      When you say give it a go, I assume you meant altering the .singe files ?
                      I made no changes.
                      Doesn't make sense from my side.

                      Yes, exactly -- just played around with the three (3) settings (SOLID, SHADED & BLENDED). It's interesting how things line up better with SHADED & BLENDED, but the odd outline appears. Still, better then SOLID, which looks like it was made with a 70's typewriter. :) Also played around with font size. No matter how large the font, the alignment is still wrong with SOLID.

                      Again, I completely understand this was inherited and I hope you don't think that I'm asking you to fix anything. This is really amazing (and kind of fun) having these games run on Pi's.

                      D 1 Reply Last reply 26 Mar 2021, 05:16 Reply Quote 0
                      • D
                        DirtBagXon @roslof
                        last edited by 26 Mar 2021, 05:16

                        @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:

                        Again, I completely understand this was inherited and I hope you don't think that I'm asking you to fix anything. This is really amazing (and kind of fun) having these games run on Pi's.

                        It's fun diving into the source code too :)

                        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
                        • R
                          roslof @DirtBagXon
                          last edited by 26 Mar 2021, 05:18

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

                          Try altering this value up or down, it will need a recompile (make) and reinstall after each change I'm afraid.
                          The value is in micro seconds.
                          '15' works well on x86_64.
                          Let me know what value works best on the Pi.

                          Happy to help. Will play around (edit, build, test, weep softly, repeat). Catch you in about... 13 weeks. :)

                          R 1 Reply Last reply 26 Mar 2021, 05:31 Reply Quote 1
                          • R
                            roslof @roslof
                            last edited by roslof 26 Mar 2021, 05:31

                            @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:

                            Try altering this value up or down, it will need a recompile (make) and reinstall after each change I'm afraid.
                            The value is in micro seconds.
                            '15' works well on x86_64.
                            Let me know what value works best on the Pi.

                            Happy to help. Will play around (edit, build, test, weep softly, repeat). Catch you in about... 13 weeks. :)

                            g_ldp->think_delay(30); seems to work fine... Will need to play around a lot and make sure, but so far, all games sync perfectly.

                            EDIT: Played quite a lot, and with multiple games. No unusual issues with this setting. All long videos sync fine.

                            D 1 Reply Last reply 26 Mar 2021, 07:59 Reply Quote 0
                            • D
                              DirtBagXon @roslof
                              last edited by DirtBagXon 4 Jan 2021, 03:49 26 Mar 2021, 07:59

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

                              @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:

                              Try altering this value up or down, it will need a recompile (make) and reinstall after each change I'm afraid.
                              The value is in micro seconds.
                              '15' works well on x86_64.
                              Let me know what value works best on the Pi.

                              Happy to help. Will play around (edit, build, test, weep softly, repeat). Catch you in about... 13 weeks. :)

                              g_ldp->think_delay(30); seems to work fine... Will need to play around a lot and make sure, but so far, all games sync perfectly.

                              EDIT: Played quite a lot, and with multiple games. No unusual issues with this setting. All long videos sync fine.

                              @roslof you are a star.

                              Exactly double, interesting - wonder if this is a 32/64bit size_t  related.

                              I will do a check at compile time which will set this according to what architecture it is compiled on - many thanks for testing that :)

                               

                              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

                              D 1 Reply Last reply 26 Mar 2021, 08:30 Reply Quote 0
                              • D
                                DirtBagXon @DirtBagXon
                                last edited by DirtBagXon 26 Mar 2021, 08:30

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

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

                                @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:

                                Try altering this value up or down, it will need a recompile (make) and reinstall after each change I'm afraid.
                                The value is in micro seconds.
                                '15' works well on x86_64.
                                Let me know what value works best on the Pi.

                                Happy to help. Will play around (edit, build, test, weep softly, repeat). Catch you in about... 13 weeks. :)

                                g_ldp->think_delay(30); seems to work fine... Will need to play around a lot and make sure, but so far, all games sync perfectly.

                                EDIT: Played quite a lot, and with multiple games. No unusual issues with this setting. All long videos sync fine.

                                @roslof you are a star.

                                Exactly double, interesting - wonder if this is a 32/64bit related.

                                I will do a check at compile time which will set this according to what architecture it is compiled on - many thanks for testing that :)

                                 

                                I actually made it a run-time check, but hopeful fix pushed to RetroPie branch.

                                 
                                Could you test and confirm latest merge fixes it without modifications ?

                                 
                                To revert your local file changes, do this as update order:

                                git checkout src/game/singe.cpp
                                git pull origin RetroPie

                                You are using the 64bit kernel and 32bit userland, so let's see if the check on sizeof(size_t)  in the fix, works in this environment....

                                 

                                Edit: Just to give me an ideas of what the clock() environment is in this 64/32 mixup, could you also grab this utility:

                                wget https://raw.githubusercontent.com/DirtBagXon/singe/master/src/debug_utils/clock_debug.c -O clock_debug.c
                                

                                Compile it cc -o clock_debug clock_debug.c -Wno-format on the Pi and run it:

                                ./clock_debug

                                Then let me see the results.

                                 

                                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

                                R 1 Reply Last reply 27 Mar 2021, 06:14 Reply Quote 0
                                • R
                                  roslof @DirtBagXon
                                  last edited by roslof 27 Mar 2021, 06:14

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

                                  Could you test and confirm latest merge fixes it without modifications ?

                                  Done. Works perfectly.

                                  Compile it cc -o clock_debug clock_debug.c -Wno-format on the Pi and run it:
                                  ./clock_debug
                                  Then let me see the results.

                                  No trouble (good instructions).

                                  Ran it using the 32bit and 64bit kernel. Funny, but for 64-bit, even though the kernel reads as aarch64, "System" shows up as 32-bit with the tool... Must be based on userland and not kernel.

                                  32bit:

                                  Linux retropie 5.10.17-v7l+ #1403 SMP Mon Feb 22 11:33:35 GMT 2021 armv7l GNU/Linux

                                  System: 32bit
                                  
                                  sizeof(clock_t)=4, CLOCKS_PER_SEC=1000000
                                  sizeof(size_t)=4, sizeof(int)=4
                                  
                                  clock()
                                  C Native:     1987
                                  C Multiplier: 3974       (x2)
                                  C Multiplier: 7948       (x4)
                                  C Multiplier: 11922      (x6)
                                  C Multiplier: 15896      (x8)
                                  C Multiplier: 19870      (x10)
                                  
                                  One sec sleep: 2025 - 1987 = 38
                                  

                                  64bit:

                                  Linux retropie 5.10.17-v8+ #1403 SMP PREEMPT Mon Feb 22 11:37:54 GMT 2021 aarch64 GNU/Linux

                                  System: 32bit
                                  
                                  sizeof(clock_t)=4, CLOCKS_PER_SEC=1000000
                                  sizeof(size_t)=4, sizeof(int)=4
                                  
                                  clock()
                                  C Native:     1968
                                  C Multiplier: 3936       (x2)
                                  C Multiplier: 7872       (x4)
                                  C Multiplier: 11808      (x6)
                                  C Multiplier: 15744      (x8)
                                  C Multiplier: 19680      (x10)
                                  
                                  One sec sleep: 2000 - 1968 = 32
                                  
                                  D 1 Reply Last reply 27 Mar 2021, 07:24 Reply Quote 0
                                  • D
                                    DirtBagXon @roslof
                                    last edited by DirtBagXon 27 Mar 2021, 07:24

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

                                    Ran it using the 32bit and 64bit kernel. Funny, but for 64-bit, even though the kernel reads as aarch64, "System" shows up as 32-bit with the tool... Must be based on userland and not kernel.

                                    Exactly what I was checking - cool.

                                    Fix should be working fine.

                                    Thanks 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

                                    D 1 Reply Last reply 27 Mar 2021, 07:57 Reply Quote 1
                                    • D
                                      DirtBagXon @DirtBagXon
                                      last edited by DirtBagXon 27 Mar 2021, 07:57

                                      Undocumented hypseus features:

                                      • Alt-Enter: Toggle fullscreen

                                      You will not see the TTF blending advantages in this switch, unless initiated with the -fullscreen argument.

                                      • Scoreboard toggle on/off  via 'spacebar' or 'button 3' (SDLK_SPACE).

                                      As @roslof commented above. I now enforce the LED scoreboard on startup for DL games in order for video to render.
                                      This can override that choice.

                                       

                                      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

                                      D 1 Reply Last reply 27 Mar 2021, 10:03 Reply Quote 0
                                      • D
                                        DirtBagXon @DirtBagXon
                                        last edited by DirtBagXon 27 Mar 2021, 10:03

                                        Ok, so I have released current (so far known ) working commits as Hypseus Singe v2.0.2 .

                                        Made the jump to v2 as I think the addition of Singe warrants it.

                                        Attempted to correspond with the original author (h0tw1r3 ) of Hypseus, but haven't had an answer. Guess he didn't like my hacky code, but also hasn't done much with it in a while - big thanks to him for all the SDL2 groundwork.

                                        Also big thanks to @SaturnX for getting me onto the idea of playing with hypseus for SDL2 port. I hope you can pickup on getting some documentation sorted.

                                        And massive thanks to @roslof for all the testing and feedback.

                                        For the moment putting this to bed, dunno where I found the time, but was fun....

                                        Enjoy guys.

                                        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

                                        D 1 Reply Last reply 27 Mar 2021, 17:27 Reply Quote 3
                                        • D
                                          DirtBagXon @DirtBagXon
                                          last edited by DirtBagXon 27 Mar 2021, 17:27

                                          Hypseus-Singe is now a drop-in replacement for the standard Daphne plugin on RetroPie:

                                           
                                          Instructions here:

                                          https://github.com/DirtBagXon/hypseus-singe/blob/master/src/3rdparty/retropie/RETROPIE.md

                                          (One last small commit [2.0.2.1 ] for this, which ignores obsolete arguments in the original RetroPie plugin scripts - ensure you grab it!)

                                           

                                          As @SaturnX asked for a drop-in replacement thought I would enable that.
                                          I'll let you guys figure the best RetroPie scripting to utilise the Singe extension, but should be straightforward from here....

                                           

                                          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

                                          D 1 Reply Last reply 27 Mar 2021, 22:24 Reply Quote 3
                                          246 out of 501
                                          • First post
                                            246/501
                                            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.

                                            This community forum collects and processes your personal information.
                                            consent.not_received