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 227.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.
    • roslofR
      roslof @roslof
      last edited by roslof

      Cheers, @DirtBagXon -- I got things running.

      Tested a few Daphne games (no issues)
      Tested a Singe game: Time Gal (no issues)

      I am having an issue with Singe Game: Time Traveler. It parses the framefile & starts up with the Hologram Time Traveler Singe logo then exits. Log shows something about "Font surface is null!":

      2021-03-23 19:32:45.357 INFO  [31012] [printline@95] Starting Singe version 1.14
      2021-03-23 19:32:54.065 INFO  [31012] [printline@95] SINGE: Font surface is null!
      2021-03-23 19:32:54.065 INFO  [31012] [printline@95] SINGE: Font surface is null!
      

      For what it's worth, my package for Time Traveler (video files, m39.TTF font, images, etc.) is unchanged since using your previous version of Singe.

      Hope this information is helpful.

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

        @DirtBagXon one last question: Regarding fonts, framefile, pics, ram, roms & sound: Are Singe-based games and [traditional] Daphne-based games pulling from the same or from different locations? Should -homedir and/or -datadir affect the location of these folders?

        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 one last question: Regarding fonts, framefile, pics, ram, roms & sound: Are Singe-based games and [traditional] Daphne-based games pulling from the same or from different locations? Should -homedir and/or -datadir affect the location of these folders?

          Singe needs a few files from the pics and sound directories of Daphne (same folders). And of course the new fonts directory.

          Your -homedir and -datadir should always point to the home directory of Daphne for both 'Daphne' and 'Singe', so on a RetroPie:

          -homedir  /home/pi/RetroPie/roms/daphne -datadir /home/pi/RetroPie/roms/daphne
          

          Assuming that is where those folders are.

           

          The fonts loaded by Singe are dictated by the location in the .singe file. They are game specific and usually in the game directory, not like Daphne which uses the global fonts directory as above. On mine they are in the same directory as the other files, but if you have an edited singe file, may not be.

          A grep in the timetraveller directory on mine shows:

          grep -i ttf *.singe
          dvd-globals.singe:fontDebug6pt = fontLoad("singe/timetraveler/m39.ttf", 6)
          dvd-globals.singe:fontDebug8pt = fontLoad("singe/timetraveler/m39.ttf", 8)
          dvd-globals.singe:fontDigital = fontLoad("singe/timetraveler/ds-digib.ttf", 18)
          

          As you see the path will require the -datadir to be correct.

          /home/pi/RetroPie/roms/daphne/singe/timetraveler/ds-digib.ttf
          

           

          The font loaded where you specify is erroring isds-digib.ttf details:

          -rw-r--r--  1  pi  pi  24896 Feb  1  1999 ds-digib.ttf
          
          file ds-digib.ttf
          ds-digib.ttf: TrueType Font data, 15 tables, 1st "OS/2", 21 names, Unicode
          
          md5sum ds-digib.ttf
          1467e2d37ec60cc50117a8db7c24f626  ds-digib.ttf
          

          I tried to attach the font here, but it appears I can't. Why it worked on the older single I am not certain, but it may be SDL2 is being more strict.
          It is loaded with the same internal SDL call: TTF_OpenFont()
           

          These are just standard TTF fonts, so you can always copy it to your Windows, or Linux Desktop, and check by loading into your local fonts database.

           

          On my RPi the font loads fine, horrible font but fine:

          timetraveler.png

           
          Singe is more troublesome than Daphne, as the .singe files are text editable LUA files, so are prone to being different from someone else, depending on where you got them from. However, on the plus side it means you can fix things yourself.

          In Daphne the ROMS (i.e. what the .singe file replace) are binary dumps of data from the arcade machine boards and standard.

          TimeGal and Ninja Hayate attempted to enforce something similar by using LUA bytecode (binary ), but that is another story.......

           

          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 roslofR 2 Replies Last reply Reply Quote 0
          • DirtBagXonD
            DirtBagXon @DirtBagXon
            last edited by DirtBagXon

            FYI: I have renamed the repo to hypseus-singe:

            https://github.com/DirtBagXon/hypseus-singe

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

            Wanted to thank @SaturnX for getting the ball rolling on this, and for the kick up the ass to get me thinking of Hypseus as a SDLv2 version of Singe.

             
            I am going to sleep now.....

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

            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:

              On my RPi the font loads fine, horrible font but fine:

              I updated to the newer version of Time Traveler (2.0) and it works straight-away (FWIW, the older one only uses one font... Suspect my issue had something to do with not having an overlay font, as an overlay font was probably expected?)

              Something odd though (and again, not your fault, rather what is inherited) --

              The TTF is clean, when you view it by itself. Not sure why Hypseus is rendering the font in such a strange way (many characters (eg. H, I, L, X, Y, 1, 4) render higher than the other characters. They are also rendering somewhat inaccurately. Little errors all over the place, which gives it the ugly look.
              Something wrong with the vector to raster system, my guess. Clean font:

              font ds-digib.ttf.jpg

              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:

                On my RPi the font loads fine, horrible font but fine:

                I updated to the newer version of Time Traveler (2.0) and it works straight-away (FWIW, the older one only uses one font... Suspect my issue had something to do with not having an overlay font, as an overlay font was probably expected?)

                Something odd though (and again, not your fault, rather what is inherited)

                On the old Singe I see the same thing:

                oldsinge.png

                It could be coded like that in the .singe file, to be honest I never noticed despite my OCD. But always thought it was an ugly font.....

                Maybe they were trying to emulate the original game font? I don't believe I ever saw it.

                What about the other games?

                Oh and make sure you have grabbed the latest merge in repo, it fixes a few things.

                Just so you are aware no game functionality was changed in the port, just ported to use SDL2 functions, so basically a graphics update. SDL2 does however have quite a few differences in the way it renders things, and drops quite a few functions that were present in the original Singe code. I therefore had to get inventive and attempt to clone the behaviour. I tried to get it as close to the earlier Singe as I could, but it is never going to be an exact copy.

                 

                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:

                  What about the other games?
                  Oh and make sure you have grabbed the latest merge in repo, it fixes a few things.

                  Depends. Your new font in Dragon's Lair for the scoreboard header looks inaccurate too (not as egregious as Time Traveler) but the Lair 2 font looks pretty damn good. Maybe size matters. Actually, font rez may be restricted by video size and not screen size. Wonder if it's just a SW scaling issue.

                  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:

                    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

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

                      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

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

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

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

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

                          roslofR DirtBagXonD 2 Replies Last reply Reply Quote 0
                          • roslofR
                            roslof @roslof
                            last edited by roslof

                            @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

                            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:

                              @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

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

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

                                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:

                                  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

                                  roslofR 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 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

                                    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:

                                      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.

                                      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:

                                        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
                                        • roslofR
                                          roslof @DirtBagXon
                                          last edited by

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

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

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

                                            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.