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.4k 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 @DirtBagXon
      last edited by roslof

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

      Let me know if you get a chance.

      Cool to see you in the mix @DirtBagXon. The structure here looks closer to Singe than original Daphne? Beyond your instructions, I had to rearrange a lot of things to get a single game (lair) to be properly referenced with ES:

      1. Renamed hypseus --> hypseus.bin
      2. Modified es_settings for Daphne, adding .sh and .SH
      3. Created a lair.sh file in roms/Daphne (just switches to /user/local/bin and launches run.sh)
      4. Renamed lair.daphne to just lair
      5. Created a simlink in ~/.daphne: vldp_dl -> /home/pi/RetroPie/roms/daphne
      6. Created a simlink in ~/.daphne: roms -> /home/pi/RetroPie/roms/daphne/roms
      7. Set executable permissions for run.sh

      So effectively I'm running: run.sh lair with everything in place.

      The game is identified. ROMS loaded, etc. etc. (yay)

      I see a render of the overlay with the new fonts. It starts to parse the video files and creates the first .dat file from the first video in the framefile.

      Then it crashes before finishing moving to the next video file (so at this point, only one .dat is created).

      /dev/shm/runcommand.log (tail)

      ./run.sh: line 163: 31265 Bus error               $HYPSEUS_BIN $1 vldp $FASTBOOT $FULLSCREEN $KEYINPUT $BANKS -framefile $DAPHNE_SHARE/$VLDP_DIR/$1/$1.txt -homedir $DAPHNE_SHARE -datadir $$
      HypseusLoader failed with an unknown exit code : 135.
      

      hypseus_log.csv (tail)

      2021/03/16;07:30:27.198;INFO;31265;0;ldp_vldp::read_frame_conversions@1038;"Framefile parse succeeded. Video/Audio directory is: /home/pi/.daphne/vldp_dl/lair/./"
      2021/03/16;07:30:27.198;ERROR;31265;0;printnotice@69;"Press any key to parse your video file(s). This may take a while. Press ESC if you'd rather quit."
      

      For for a moment, I got to see your overlay layout.

      EDIT: I see you edited your post above with this information. FWIW, I am using the hires m2v files (720x480). I reduced the size of the dl-slates.m2v file per your instructions and removed the previously generated .dat. Still crashing, but this time, I don't actually see your overlay at all. Would have thought it would have made it to the second m2v, but it didn't. Let me know if there is anything else you would like tested.

      EDIT #2: Tried Bega's Battle. Same issue. It built the single .dat file then exited. No significant information in runcommand or the hypseus_log.csv.

      I do wish the file structure here was similar to the original Hypseus version instead of Singe. You pretty much just need to swap the emulator and you're done. For people using Daphne, this will be a pretty significant process.

      Still, love to know that there is progress here. Cheers!

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

        Forget all the symlinking at this point. If you just edit the top line of run.sh to point to the path of your Daphne home:

        HYPSEUS_SHARE=~/.daphne
        

        to

        HYPSEUS_SHARE=/home/pi/RetroPie/roms/daphne
        

        This appears to be where all your Daphne data sits: 'roms', 'pics', 'sound', 'framefile' and 'vldp'

        Copy the 'fonts' directory there also:

        cp -R fonts /home/pi/RetroPie/roms/daphne
        

        Move compiled hypseus to hypseus.bin somewhere in your system $PATH (I used /usr/local/bin) .

        In an open Terminal (F4).

        • Type 'hypseus.bin' to make sure the binary is found. Show output.
        • Then execute 'run.sh' from this terminal. Show output.
        • Then try 'run.sh lair' from the same terminal and show full output.

        The .dat  file generation is listed as a bug on the original repo, I couldn't replicate this on X64, so may be ARM specific.
        You can try recreating the .dat files with original Daphne which seems to be the current work-a-round.
        Or try another game with .dat  files existing.

        I have not changed anything with the code to make hypseus run in any different manner from the original.
        I just included a wrapper script to make running it easier, and it gives all the required arguments by default.

        You should see the full command args given to hypseus in the first lines of running the wrapper script. Something like:

        hypseus.bin lair vldp -fastboot -bank 1 00110111 -bank 0 10011000 -framefile /home/user/.daphne/vldp_dl/lair/lair.txt -homedir /home/user/.daphne -datadir /home/user/.daphne -useoverlaysb 2 -sound_buffer 2048 -nojoystick -volume_nonvldp 5 -volume_vldp 20
        

        Any of this can be changed by editing the run.sh wrapper script.
        Once it works you can move this wrapper and rename to whatever you like...

         

        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:

          Any of this can be changed by editing the run.sh wrapper script.
          Once it works you can move this wrapper and rename to whatever you like...

          Makes sense. Everything is setup properly.

          I just tried Badlands and did not rebuild the .dat files. It sits for a bit, then outputs this at the end:

          Command line: hypseus.bin badlands vldp -bank 1 10000001 -bank 0 00000000 -framefile /home/pi/RetroPie/roms/daphne/vldp/badlands/badlands.txt -homedir /home/pi/RetroPie/roms/daphne -datadir /home/pi/RetroPie/roms/daphne -useoverlaysb 2 -sound_buffer 2048 -nojoystick -volume_nonvldp 5 -volume_vldp 20
          
          2021-03-16 08:35:41.955 WARN  [24525] [ldv1000::pre_display_disable@451] Display disable received (unsupported)
          /usr/local/bin/run.sh: line 163: 25707 Bus error               $HYPSEUS_BIN $1 vldp $FASTBOOT $FULLSCREEN $KEYINPUT $BANKS -framefile $DAPHNE_SHARE/$VLDP_DIR/$1/$1.txt -homedir $DAPHNE_SHARE -datadir $DAPHNE_SHARE -useoverlaysb 2 -sound_buffer 2048 -nojoystick -volume_nonvldp 5 -volume_vldp 20
          HypseusLoader failed with an unknown exit code : 135.
          

          Hope this is useful. Cheers!

          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:

            Ok, just so I am on the same page, can you pull the latest run.sh from github:

            git checkout run.sh
            git pull origin master
            

            Then make the change to HYPSEUS_SHARE=~/.daphne as above, the old wrapper would not have worked with that single edit.

            Bus error

            Interesting.....

            This is possibly due to change in the overlay rendering to Surface from Renderer - will need to get hold of a RPi dev unit to pursue this.....
            But you said you saw the new overlay briefly.

            Try the new wrapper, with edit, so we are sure....

            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

              Could you also try in the terminal:

              Edited for 'lair':

              gdb -args hypseus.bin lair vldp -framefile /home/pi/RetroPie/roms/daphne/vldp_dl/lair/lair.txt -homedir /home/pi/RetroPie/roms/daphne -datadir /home/pi/RetroPie/roms/daphne -useoverlaysb 2 
              

              Type 'run' at the prompt:

              Reading symbols from hypseus.bin...
              (gdb) run
              

              Wait for it to crash and then type 'bt' and give me the output.

              (gdb) bt
              

              Hypseus Singe for RetroPie: https://github.com/DirtBagXon/hypseus-singe
              Hypseus Singe Games: https://github.com/DirtBagXon/hypseus_singe_data
              Hypseus Discord: https://discord.gg/dgCsCfmRfJ

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

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

                But you said you saw the new overly briefly.

                Yes. If the DAT files pre-exist (generated from a different version of Daphne) I can see the overlay for lair for a few seconds before Hypseus exits with the bus error.

                I also ran the gdb command... Interesting that behaved a bit differently. I was able to see the overlay, and hear the lair "click" sound effect. Player 1 displays "2" and Player 2 displays 15P2. Credits show "0"... After several seconds the overlay clears (default with nothing lit) then Hypseus freezes (with overlay still on screen) and wouldn't allow exit. Used an external console to send a kill...

                Wait for it to crash and then type 'bt' and give me the output.

                While it's not crashing, after the kill, was able to spot:

                [New Thread 0xf0aad450 (LWP 1451)]
                
                Thread 4 "vldp" received signal SIGBUS, Bus error.
                [Switching to Thread 0xf0aad450 (LWP 1451)]
                mpeg2_idct_copy_c (clock=0xf01045c0, dest=0xeff2b040 "", stride=-269308740) at idct.c:169
                169           idct_row (block * 8 * i);
                (gdb) 1405 Killed
                
                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:

                  While it's not crashing, after the kill, was able to spot:

                  [New Thread 0xf0aad450 (LWP 1451)]
                  
                  Thread 4 "vldp" received signal SIGBUS, Bus error.
                  [Switching to Thread 0xf0aad450 (LWP 1451)]
                  mpeg2_idct_copy_c (clock=0xf01045c0, dest=0xeff2b040 "", stride=-269308740) at idct.c:169
                  169           idct_row (block * 8 * i);
                  (gdb) 1405 Killed
                  

                  Edit:
                  Ok, I have grabbed the original Hypseus repo code and ran it on a RPI 3b then switched to my changes. Apart from the overlay I see no difference in the video shown at this point, just incredibly slow at rendering. I don't believe my changes have degraded the vanilla status of hypseus, maybe someone who has this running reasonably well on their setup could expand.

                   
                  Screenshot from 2021-03-16 18-09-21.png
                   
                  Confirmation that Badlands et al also work in this port.
                   
                  Screenshot from 2021-03-16 18-52-09.png

                   
                  I also deleted the .dat  files for lair and badlands on Raspian 32bit and they were ALL recreated on both repos, so still unable to replicate this.

                  What kinda setup are you using? Software , kernel and SDL2 versions 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 0
                  • roslofR
                    roslof @DirtBagXon
                    last edited by roslof

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

                    What kinda setup are you using? Software , kernel and SDL2 versions etc ?

                    64-bit Kernel enabled:

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

                    Also running KMS instead of FKMS.

                    SDL2 should be most recent (installed from RetroPie Setup Depends script for sdl2 (installed via source on Sat, 13 Mar 2021)

                    ii  libsdl2-2.0-0:armhf                    2.0.10+5rpi                         armhf        Simple DirectMedia Layer
                    hi  libsdl2-dev:armhf                      2.0.10+5rpi                         armhf        Simple DirectMedia Layer development files
                    ii  libsdl2-gfx-1.0-0:armhf                1.0.4+dfsg-3                        armhf        drawing and graphical effects extension for SDL2
                    ii  libsdl2-gfx-dev:armhf                  1.0.4+dfsg-3                        armhf        development files for SDL2_gfx
                    ii  libsdl2-image-2.0-0:armhf              2.0.4+dfsg1-1+deb10u1               armhf        Image loading library for Simple DirectMedia Layer 2, libraries
                    ii  libsdl2-image-dev:armhf                2.0.4+dfsg1-1+deb10u1               armhf        Image loading library for Simple DirectMedia Layer 2, development files
                    ii  libsdl2-mixer-2.0-0:armhf              2.0.4+dfsg1-1                       armhf        Mixer library for Simple DirectMedia Layer 2, libraries
                    ii  libsdl2-mixer-dev:armhf                2.0.4+dfsg1-1                       armhf        Mixer library for Simple DirectMedia Layer 2, development files
                    ii  libsdl2-net-2.0-0:armhf                2.0.1+dfsg1-4                       armhf        Network library for Simple DirectMedia Layer 2, libraries
                    ii  libsdl2-net-dev:armhf                  2.0.1+dfsg1-4                       armhf        Network library for Simple DirectMedia Layer 2, development files
                    ii  libsdl2-ttf-2.0-0:armhf                2.0.15+dfsg1-1                      armhf        TrueType Font library for Simple DirectMedia Layer 2, libraries
                    ii  libsdl2-ttf-dev:armhf                  2.0.15+dfsg1-1                      armhf        TrueType Font library for Simple DirectMedia Layer 2, development files
                    
                    DirtBagXonD 1 Reply Last reply Reply Quote 0
                    • DirtBagXonD
                      DirtBagXon @roslof
                      last edited by DirtBagXon

                      @roslof

                      I'm running it on older versions than you, on Rasbian RPi3b.

                      SDL2 is supposed to figure out all the acceleration for you. According to the imprecise documentation......

                      "SDL 2.0 changes this; you almost always get hardware acceleration now, and the API has changed to reflect this." -lol

                      ii  libsdl2-2.0-0:armhf              2.0.5+dfsg1-2+rpt1                armhf        Simple DirectMedia Layer
                      ii  libsdl2-dev                      2.0.5+dfsg1-2+rpt1                armhf        Simple DirectMedia Layer development files
                      ii  libsdl2-image-2.0-0:armhf        2.0.1+dfsg-2+deb9u2               armhf        Image loading library for Simple DirectMedia Layer 2, libraries
                      ii  libsdl2-image-dev:armhf          2.0.1+dfsg-2+deb9u2               armhf        Image loading library for Simple DirectMedia Layer 2, development files
                      ii  libsdl2-ttf-2.0-0:armhf          2.0.14+dfsg1-1                    armhf        TrueType Font library for Simple DirectMedia Layer 2, libraries
                      ii  libsdl2-ttf-dev:armhf            2.0.14+dfsg1-1                    armhf        TrueType Font library for Simple DirectMedia Layer 2, development files
                      

                      I guess I will need to get a RetroPie dev setup at some point.....

                      To get bluestang2006 libmpeg patch on this repo, before the mkdir build do:

                      wget https://github.com/bluestang2006/hypseus/commit/76bc01fdf09152820fff88c28c61b2bea1b47ecf.patch -O patch.diff
                      patch -p1 < patch.diff
                      sudo apt-get install libmpeg2-4-dev
                      mkdir build
                      cd build
                      cmake ../src/
                      make
                      

                      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 I confirmed that the 64bit kernel is not compatible with default compile. If @bluestang's patch fixes this (compatible compiler options/includes?) I'll inform.

                        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 I confirmed that the 64bit kernel is not compatible with default compile. If @bluestang's patch fixes this (compatible compiler options/includes?) I'll inform.

                          But this is 64bit kernel with 32bit userland - correct ?

                          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 forgive, I'm unclear/green on userland. Only know that @bluestang's patch + installer run fine with these settings (KMS/64-bit kernel). Will try his patch with your build shortly.

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

                              @roslof

                              file /usr/local/bin/hypseus.bin
                              

                              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 looks like 32-bit

                                /usr/local/bin/hypseus.bin: ELF 32-bit LSB executable, ARM, EABI5 version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for GNU/Linux 3.2.0, BuildID[sha1]=0870fd6f38c57af407124e243bb5b7f06f4319bd, with debug_info, not stripped
                                
                                DirtBagXonD 1 Reply Last reply Reply Quote 0
                                • DirtBagXonD
                                  DirtBagXon @roslof
                                  last edited by

                                  @roslof

                                  This may go some way to explain the .dat  file creation issues...

                                  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

                                    This may go some way to explain the .dat  file creation issues...

                                    Maybe, but this was not an issue with @bluestang's compile, and I verified it is also a 32-bit file. All dats I have now were generated with his exe.

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

                                      @roslof

                                      Looking here: https://retropie.org.uk/forum/post/254740

                                      It appears that patch should cover it with local libmpeg2-4

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

                                        The TLDR: Success! Dragon's Lair runs with 64bit Kernel + KMS

                                        The Output:

                                        wget https://github.com/bluestang2006/hypseus/commit/76bc01fdf09152820fff88c28c61b2bea1b47ecf.patch -O patch.diff
                                        

                                        (received)

                                        patch -p1 < patch.diff
                                        

                                        patching file src/CMakeLists.txt
                                        patching file src/vldp/vldp.h
                                        patching file src/vldp/vldp_internal.cpp

                                        sudo apt-get install libmpeg2-4-dev
                                        

                                        libmpeg2-4-dev is already the newest version (0.5.1-8).

                                        mkdir build
                                        

                                        done, and added cd build

                                        cmake ../src
                                        

                                        good

                                        make
                                        

                                        good

                                        then mv hypseus hypseus.bin
                                        and sudo cp hypseus /usr/local/bin/hypseus.bin (overwriting previous executable)

                                        RESULTS:
                                        Success! Dragon's Lair runs with 64bit Kernel + KMS

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

                                          @roslof

                                          Or just grab this pre-patched branch in future:

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

                                          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

                                            Or just grab this pre-patched branch in future:

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

                                            Hindsight 20/20. Great work on this, man.

                                            DirtBagXonD 1 Reply Last reply Reply Quote 1
                                            • 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.