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!
-
@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.
-
@jamrom2 said in New Hypseus and lr-Daphne to add on Retropie-Setup:
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.
Hypseus "Daphne" is Daphne code, there should be little difference.
Is there a cross-over for every Daphne game or only a selected few?
In Singe ? There are some "Daphne" games in Singe.
But remember these are 'simulated' and therefore not as authenticate as the emulation Daphne does from the arcade ROM.
I don't tend to port games that have Daphne emulation for this reason.
dl2e is an exception: http://www.dragons-lair-project.com/tech/enhancements/dl2e.asp
There is no emulation for this version in Daphne, so the Singe game is ported.
Singe Cliffhanger also has extended scenes.
I've never heard of Titan AE. Looks like another Don Bluth game. Pretty nice looking to say the least.
It is Don Bluth.
-
Hi. So I have everything running now, I see what you mean and now understand the idea behind the addition of Singe 1 to Daphne. It's very good.
The only thing I have not found is where you pulled your cliff hanger vids from. I've searched just about every spot I know and have not seen them as "scenes", only as 1 .m2v file. *** Nevermind... 3 hours after I wrote this... I found your spot. LOl. ***
I tried to use my own framefile, but it doesn't work. Is there a chance to have this use the HD video, and not Singe 2, I mean the ones Karis did. The quality is great.
I see what you mean about the Pi3b+ and 4k videos... it just doens't do well. So I keep them all in the 720p range. It's fine. I like the old school look of a little blur in them anyway.
Thanks for the help,
JamR
-
@jamrom2 said in New Hypseus and lr-Daphne to add on Retropie-Setup:
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.
I think this is memory fog here on the speed of the death scenes, the video is taken direct from the laserdisc at the same FPS, the scene is dictated by a set of frames (which come from the ROM), and displayed at the same FPS.
I would be very surprised if Matt didn't correct anything weird like that in this game.
I think peoples memories get a little foggy on these games, it's like the 'opening bridge scene' that so many people definitely remember from the original game - but actually it wasn't really there until later (home) release, or dle, versions...
Thanks for the help
Glad to help.
-
@dirtbagxon LOL!... I like the way you explain it.. and you're probably right! At 52, I'm guessing what I used to see 40 years ago when I first played it in the Arcades is definitely distorted by fog... as is everything else. LOL.
I agree on the bridge scene. I once argued with a fan on the Daphne form that it did not exist in the arcade game, he was adamant that it did...
-
I installed everything I wanted from my "list" and a few extras. The version of Cliff Hanger you used is fantastic, but it's too much for my Pi3B+. How did you create the framefile and is there one that uses a lesser video scale but still uses the Singe side as well?
I already have an M2v that uses only Daphne that runs fine in 4:3 720p. I just need Singe to run the framefile, but it doesn't. Is there a way I can?
Thanks.
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.