New Hypseus and lr-Daphne to add on Retropie-Setup
-
@dirtbagxon I tried testing out a bunch of Singe games on my Pi 4, and most of them worked. Chantze's Stone HD and Dragon's Lair 2 Enhanced both crash when I try to put a coin in, but otherwise things work just fine.
-
@g30ff said in New Hypseus and lr-Daphne to add on Retropie-Setup:
@dirtbagxon I tried testing out a bunch of Singe games on my Pi 4, and most of them worked. Chantze's Stone HD and Dragon's Lair 2 Enhanced both crash when I try to put a coin in, but otherwise things work just fine.
Heya,
Ok, those two specific games require the latest version of Hypseus: v2.6.21 due to some LUA module that was included in the v3.31c Singe 2 game code.Ok, seems to be an issue with the
-retropath
remapping for this version of Singe code, in that LUA module, I didn't catch.I will investigate, hopefully a fix in next release....
Thanks for spotting ;)
-
If you build from source, via RetroPie-Setup, there is a fix in for this now.
It only affected the 2 latest games (chantze-hd, dl2e ), which run the Singe 2 v3.31c codebase, when run with the
-retropath
argument.Let me know, thanks.
-
@dirtbagxon I rebuilt from source, and now it works fine! Thanks!
Currently the only game I'm having issues with is Freedom Fighter, because it seems like I get shot before any targets appear on screen. I'm not sure if that's how the game is or whether it's a bug.
-
@g30ff said in New Hypseus and lr-Daphne to add on Retropie-Setup:
@dirtbagxon I rebuilt from source, and now it works fine! Thanks!
Currently the only game I'm having issues with is Freedom Fighter, because it seems like I get shot before any targets appear on screen. I'm not sure if that's how the game is or whether it's a bug.
Yeah, that game is pretty buggy (starblazers also). I attempted to fix some of the issues but gave up.
Happy to receive any updates /improvements from any budding LUA game developers.Make sure you are using the latest LUA files from my repo here.
You could also try setting the game to easy via pressing '9 ' in-game. But even using that menu is a challenge :)
You should be able to play it, and it's quite fun....
Edit: The other obvious issue could be that the video frames are not matching the framefile timings.
It could be your video source, this is one of the more obscure titles.... -
@dirtbagxon Thanks for the info! I tried updating the LUA files from your repo, but it's still not great. I think the issue is that the longer it plays, the more out of sync the input cues and the video become. Like if I skip the intro, the first tank that appears has basically no reaction time, and the more you do it, the less and less time you get to respond. Even if you don't skip at all and let it play normally, the windows become shorter and shorter, to the point that the tank won't even appear on screen before you get shot. I think at this point I'm just gonna give up on this game as not playable, but thanks for the help!
-
@g30ff said in New Hypseus and lr-Daphne to add on Retropie-Setup:
@dirtbagxon Thanks for the info! I tried updating the LUA files from your repo, but it's still not great. I think the issue is that the longer it plays, the more out of sync the input cues and the video become. Like if I skip the intro, the first tank that appears has basically no reaction time, and the more you do it, the less and less time you get to respond. Even if you don't skip at all and let it play normally, the windows become shorter and shorter, to the point that the tank won't even appear on screen before you get shot. I think at this point I'm just gonna give up on this game as not playable, but thanks for the help!
That does sound like the pi is struggling top keep the audio/video in sync. i.e. the video is getting behind.
Only option I can offer is to recode the video files and lower the bittrate using ffmpeg.
Also delete the .dat files, let hypseus reindex the video. It may have old Daphne indexing files ?
What pi is this, is it overclocked etc? If it's managing the Chantze video it seems strange it can't cope with a lower resolution SD video....
As I say it's not a bug free game in any case...
-
@dirtbagxon It's a Pi 4 4 GB, no overclock. Chantze's Stone seems to work fine for me.
-
@g30ff said in New Hypseus and lr-Daphne to add on Retropie-Setup:
@dirtbagxon It's a Pi 4 4 GB, no overclock. Chantze's Stone seems to work fine for me.
Not really sure why that game is causing you issues then. Unless it's just a bad video encode.
You could grab the hypseus windows binary and see if you see the same issues there, just to rule out issues with the Pi.......
-
@dirtbagxon If I can get access to a Windows PC I might give it a shot. But thank you for your support up to this point!
I'm using what I believe are your distributions of the games and video files (I won't say where they were found for obvious reasons), FYI. Something else I noticed, most of the HD versions of the games have some strange things happening with audio. Some of them at the very start, the music speeds up for a short while, as if the video ran ahead and the audio is quickly trying to catch up with it. The video plays at normal speed when this happens.
-
@g30ff said in New Hypseus and lr-Daphne to add on Retropie-Setup:
FYI. Something else I noticed, most of the HD versions of the games have some strange things happening with audio. Some of them at the very start, the music speeds up for a short while, as if the video ran ahead and the audio is quickly trying to catch up with it. The video plays at normal speed when this happens.
Singe 2 has an audio bug.
Try playing any of the MP4 files from a Singe 2 game in VLC. You will see that video and audio are completely out of sync by approx 9-10 video frames (0.333s on a 29.97 FPS game, more on 24FPS titles.). This 'out-of-sync' is put deliberately in the MP4 by the game devs to work-a-round the bug.
The speedup you hear is Hypseus correcting that sync, the audio bug obviously doesn't exist in Hypseus. The ffmpeg recode tries to correct it but not completely. It is more obvious on the HD games for reasons I can only put down to more CPU cycles being used on the HD video. Haven't been able to completely track it down why you hear it more on some than others. On my desktop it's usually only a blip for a ms or so, so if on the Pi if it is more notable, it could well be down to CPU cycles.
It only happens on startup of the game (VLDP init) then plays fine throughout gameplay. It is sometimes more obvious on one startup than another.
If anyone can figure out an ffmpeg command to get the audio more accurately out of the MP4 I would be grateful....
I did consider reducing the volume on the ogg for the first few seconds and fading in on the VLDP init sequence (game boot up, the time you cannot input any key commands), but decided against it. But that is one solution if it really bugs you:
http://underpop.online.fr/f/ffmpeg/help/afade.htm.gz
Some of the MP4 are a real mess and ffmpeg just complains madly about corrupt timing frames, maddog-hd in particular throws out many warnings. The Singe 2 game devs found various ways to work-a-round the bug initially, so earlier games have more problematic MP4's.
I have to work with what I have :)
-
@dirtbagxon That makes sense. This is my first time trying to use Singe games, so I was unaware of a lot of these details regarding how the games/engine work. Thank you again for taking the time to explain these things! It's very much appreciated!
-
@g30ff said in New Hypseus and lr-Daphne to add on Retropie-Setup:
@dirtbagxon That makes sense. This is my first time trying to use Singe games, so I was unaware of a lot of these details regarding how the games/engine work. Thank you again for taking the time to explain these things! It's very much appreciated!
I think I have a better solution.
There are a couple of intros I would rather not hear in any case, as are overbearingly loud. This post gave me an idea.
In the next release there will be a new argument for Singe called '-bootsilent`.
This will attempt to mute the sound during the VLDP boot process, it covers this issue nicely. It's also then configurable per game.
The next release will have the following changelog.
- Allow a 32bit Pi OS to fseeko64() in files over 2Gb in size. FILE_OFFSET_BITS=64 is ignored in fseek() on the Pi!!
This will become important as some of the new releases will have extended video and require larger m2v files.
See below (dltv is 4hrs in length). - Add the -bootsilent option to alleviate the audio correction heard in certain Singe 2 game ports, or disable for the hell of it.
This is game code dependant: Works on all except "Gun Games", which use an antiquated LUA code base. - Upgrade the Daphne VLDP from 16bit to 32bit - and remove the 65535 video frame limit that has always been present in Daphne.
This enables me to port all the outstanding Singe 2 games that were previously over this frame limit:You will need to grab the new version from source in RetroPie-Setup (v2.8.0).
- Allow a 32bit Pi OS to fseeko64() in files over 2Gb in size. FILE_OFFSET_BITS=64 is ignored in fseek() on the Pi!!
-
Hi, thanks for making this an easy Retro-Pie install... however.. I have no idea what I am doing and I can't seem to get any of this working.
I've had Daphne running for years and upgraded many of my videos to the latest HD's on the emuline forum. I have all the usual Daphne games running, except Badlands. So I'm fluent in working with Daphne.
I started with the instructions on https://github.com/DirtBagXon/hypseus-singe/blob/master/src/3rdparty/retropie/RETROPIE.md
...and what looks like a simple adding a simple file "xxx.singe" but where do these files come from?
So I pulled down Dragon's Lair II from the above location and it has a ton of additional folders in it. What do I need? I copied over the DL2e.mp4, created a new framefile and pointed it at DL2e.mp4 at mark 0. Then I added in the DL2e.singe file. Selected Singe as my emulator to run it, dumps back to menu.
I then just copied over the DLE2.singe file to my original lair2 folder, and renamed it lair2.singe, it fails back to menu. However I switch back to Daphne, it works fine.
Not sure what I'm doing wrong here... but this is my runcommand.log and it says it can't compile a
Singe script?Thanks for your help, and of course, all the hard work you've done to get all of this working. I know it's something I'm doing wrong, I just don't know what it is.
JamR
-
@jamrom2 said in New Hypseus and lr-Daphne to add on Retropie-Setup:
I've had Daphne running for years and upgraded many of my videos to the latest HD's on the emuline forum. I have all the usual Daphne games running, except Badlands. So I'm fluent in working with Daphne.
That's a good start and the hardest part over :)
Thanks for your help, and of course, all the hard work you've done to get all of this working. I know it's something I'm doing wrong, I just don't know what it is.
So if you are not familiar with Singe games, there are currently two generations of the games: Original Singe (1) and Singe 2. Singe games are simulation in LUA, not emulation via ROM, like Daphne. They are fan created and easily editable.
Original Singe games were contained in a sub-folder of Daphne conveniently called
singe
* and ran as a plugin to Daphne (alongside the originalvldp
andvldp_dl
game data folders you will recall from the original Daphne).Daphne used MPEG-2 and OGG (video
.m2v
and audio.ogg
) containers. Hypseus is an extension of this original engine and therefore adopts this structure and video/audio format, by default, to maintain Daphne compatibility.Singe 2 is a complete rewrite of the Singe engine, uses a different video container (
MP4
) and adopted a different folder structure. It also does not contain the Daphne emulation engine.Therefore you cannot directly use Singe 2 MP4 in Hypseus (you can use the new folder structure but let's not get off topic). So we flatten out the folder structure, ala Singe 1, and convert video/audio to align with original Singe format in order to work in Hypseus. (See more below )
So, if you have original Singe games you should be able to drop them in as per the instructions here and that's it.
If you want to use Singe 2 games, then you need to convert the MP4 to MPEG-2 and OGG as described in this porting repo (also linked in my signature ).
The 'ffmpeg' tool is simple and fast, so should only take a couple of minutes to convert video on a standard PC. Probably better to encode on a PC (Windows binaries are available ) rather than the Pi, as the Pi will take some time.
Use the repository: https://github.com/DirtBagXon/hypseus_singe_data - [Note: Keep game directory names but add .daphne for RetropIe]
All you need to worry about is the video and audio files, everything else you need is in that repo (it's all fan created material so no copyright issues ). If you know Daphne, you will know what framefiles are, so look there for the structure layout. If you have original Singe games the video and audio are already converted, just drop them in. If you want to bring Singe 2 games over, you either have to find already converted copies of the
.m2v
and.ogg
or use ffmpeg to convert yourself.Although original Singe games will work unaltered, I have added a
00-singe1
folder in the porting repo, this either fixes bugs found in the original games or makes alignment changes that work better in hypseus overlays.The errors you were seeing were due to just dropping an un-ported Singe 2 game into hypseus, i.e. trying to use the MP4 and alternate folder structure. So hopefully a little reading of the porting repo will get you on the right track.
In the latest Hypseus update (which you can grab via RetoPie-Setup source install ) all the Singe 2 games are now possible to be ported over. However, many of these contain high bitrate HD video and the Pi will struggle to render them at reasonable speeds. On these games it may be better to downscale the video at the ffmpeg stage, so a 1920x1080 MP4 recode would be downscaled like this (Halve each axis resolution - These commands also cover the Singe 2 audio bug described a few posts above ):
ffmpeg -i TRON.mp4 -vf tpad=stop_mode=clone:stop_duration=2,scale=960:540 -an -qscale:v 4 -c:v mpeg2video tron.m2v ffmpeg -i TRON.mp4 -ss 00:00:00.33 -vn -c:a libvorbis -ar 44100 -map a -b:a 160k tron.ogg
*(Informational blurb, ignore this paragraph if you like: Thesinge
folder is actually still required (as it is hardcoded in the LUA ) but hypseus contains apath rewrite
argument that means you will not see it, or need it, in the documentation for RetroPie. A description of what happens is here if anyone is really interested.) -
This is very helpful and really cleared it up for me. I understand now the difference between all the version and what I was doing wrong.
I can see the files in the Singe games, pretty easy... but what about roms that make them work? How do I get ES to see the game in my list, then of course how does it run without a rom?
For example, I want to run Platoon. Framefile, Vid and OGG's are in \roms\daphne\platoon.daphne with a sub-folder of platoon.singe inside of that.
So how does ES see this game?
Thanks again!
-
@jamrom2 said in New Hypseus and lr-Daphne to add on Retropie-Setup:
I can see the files in the Singe games, pretty easy... but what about roms that make them work? How do I get ES to see the game in my list, then of course how does it run without a rom?
Singe (unlike Daphne) is a simulator, not an emulator. The ROM data in this sense is the LUA game code in the
.singe
filesFor example, I want to run Platoon. Framefile, Vid and OGG's are in \roms\daphne\platoon.daphne with a sub-folder of platoon.singe inside of that.
No sub-folder should be there. All files should be in
\roms\daphne\platoon.daphne
- There should be no sub-folders within that.daphne
folder. One exception to this is that some of the old Singe 1 games had acdrom
ordvd
sub-folder that contained the.m2v
and.ogg
files. But the Singe 2 ports (including Platoon) have none.As the docs describe:
roms |-- daphne | | | |-- timegal.daphne | | | | | |-- timegal.commands (Optional) | | |-- timegal.txt | | |-- timegal.m2v | | |-- timegal.ogg | | |-- timegal.singe | | |-- *.* | | | +-- roms |
So how does ES see this game?
If the
<game>.daphne
folder exists and a<game>.singe
within the root of that folder, then the LUA within that.singe
file will boot the game.ES triggers off the
.daphne
folder extension as a game listing. Just reload ES (or reboot) after placing the folder there.BTW: I wouldn't recommend
platoon
as your introduction to the world of Singe. It was only ever a 'protoytype' game and is quite rough around the edges..... -
Ok, I see it now. I have to remember ALL names must match.
So I tried it with Freedom Fighter and Cliff Hanger. What I'm going to have to do is pull-down a new Cliff Hanger video set because my current framefile is set to use CH_640x480_24p as the main video. Your's has it broken down to sections (intro1...etc). So my game is a mess. But that's not a big deal. I can see the icons, and the "insert coin"... all looks great!
Now I understand all this, and I'm going to switch over my games to your Hypseus standard. It's much better with all the correct overlays and such.
Thanks!
One more question... I did this because I saw that Tron game. Is that one considered Singe 1 or Singe 2? I really want that one, I'm a huge fan of that Movie!
-
@jamrom2 said in New Hypseus and lr-Daphne to add on Retropie-Setup:
One more question... I did this because I saw that Tron game. Is that one considered Singe 1 or Singe 2? I really want that one, I'm a huge fan of that Movie!
Yes you basically only need to ensure that the video is the required one for the framefile and timing events. These are fan made games, so there can be multiple versions just to make life easy. Hence the FRAMEFILE.md I put in each game folder.
'Tron' is very definitely a Singe 2 game (it's also one of the extended games only playable in the latest version of Hypseus 2.8.0 ), so you will need to acquire the MP4 and run the recode on that one. Or find an archive that is already converted. Remember my note about the HD video on the Pi above.
Again, once you have the
.m2v
and.ogg
files you just need the peripheral files from the porting repo: https://github.com/DirtBagXon/hypseus_singe_data/tree/master/tronGrabbing the Release zip file, or cloning the repo, will be easier than trying to download files individually
Also just released is the full extended version of TitanAE, the previous version was missing scenes due to the length of the video.
-
With Hypseus, does it help the speed of the death scenes in Dragon's Lair. That was always an annoyance to me. I remember them being a lot longer like when he get squeezed by the snake, or eaten, falls.. whatever.
Daphne always seemed very fast to me when it came to that.
So far, everything is working good on Freedom Fighter. I'll start looking for the rest of the videos and such. Is there a cross-over for every Daphne game or only a selected few?
I've never heard of Titan AE. Looks like another Don Bluth game. Pretty nice looking to say the least.
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.