(REQUEST) Add Daphne Singe emulator?
-
The other thing I am confused about are these:
/home/pi/retropie/roms/daphne/singe/timegal/timegal.singe
/home/pi/retropie/roms/daphne/singe/timegal/timegal.txtAre you guys using the files from https://kangaroopunch.com/?page=Software/3000-2006-singe.xjs or something else?
This is what I have at the moment. -
-
I can not seem to get it working after the fix. I am doing something wrong.
-
@gamesman said in (REQUEST) Add Daphne Singe emulator?:
The other thing I am confused about are these:
/home/pi/retropie/roms/daphne/singe/timegal/timegal.singe
/home/pi/retropie/roms/daphne/singe/timegal/timegal.txtAre you guys using the files from https://kangaroopunch.com/?page=Software/3000-2006-singe.xjs or something else?
This is what I have at the moment.The files linked on kangaroopunch, actually on archive.org, are for SInge V2 with updated and different video, overlays and singe files that won't work on V1.
The original TimeGal (for Singe V1) directory should have something like the following (Not certain of the legal situation on posting links to game data as these games are now on archive.org):
-rw-r--r-- 1 pi pi 432 Oct 3 2010 action.png -rw-r--r-- 1 pi pi 427 Oct 3 2010 arrowdown.png -rw-r--r-- 1 pi pi 478 Oct 3 2010 arrowleft.png -rw-r--r-- 1 pi pi 450 Oct 3 2010 arrowright.png -rw-r--r-- 1 pi pi 436 Oct 3 2010 arrowup.png -rw-r--r-- 1 pi pi 56040 Sep 26 2010 blip.wav -rw-r--r-- 1 pi pi 454 Oct 3 2010 button.png -rw-r--r-- 1 pi pi 338 Oct 6 2010 credit.png -rw-r--r-- 1 pi pi 140588 Oct 5 2010 credit.wav -rw-r--r-- 1 pi pi 386 Oct 6 2010 freeplay.png -rw-r--r-- 1 pi pi 280 Oct 6 2010 gal.png -rw-r--r-- 1 pi pi 436 Oct 6 2010 getready.png -rw-r--r-- 1 pi pi 435 Oct 6 2010 insertcoin.png -rw-r--r-- 1 pi pi 18332 Sep 22 2001 LICENSE.TXT -rw-r--r-- 1 pi pi 436 Nov 17 2010 line100.png -rw-r--r-- 1 pi pi 434 Nov 17 2010 line101.png -rw-r--r-- 1 pi pi 468 Nov 17 2010 line102.png -rw-r--r-- 1 pi pi 389 Nov 17 2010 line103.png -rw-r--r-- 1 pi pi 411 Nov 17 2010 line104.png -rw-r--r-- 1 pi pi 484 Nov 17 2010 line105.png -rw-r--r-- 1 pi pi 536 Nov 17 2010 line106.png -rw-r--r-- 1 pi pi 557 Nov 17 2010 line107.png -rw-r--r-- 1 pi pi 351 Nov 17 2010 line108.png -rw-r--r-- 1 pi pi 543 Nov 17 2010 line109.png -rw-r--r-- 1 pi pi 463 Nov 17 2010 line110.png -rw-r--r-- 1 pi pi 467 Nov 17 2010 line111.png -rw-r--r-- 1 pi pi 473 Nov 17 2010 line112.png -rw-r--r-- 1 pi pi 469 Nov 17 2010 line113.png -rw-r--r-- 1 pi pi 389 Nov 17 2010 line114.png -rw-r--r-- 1 pi pi 519 Nov 17 2010 line115.png -rw-r--r-- 1 pi pi 548 Nov 17 2010 line116.png -rw-r--r-- 1 pi pi 316 Nov 17 2010 line117.png -rw-r--r-- 1 pi pi 534 Oct 6 2010 line1.png -rw-r--r-- 1 pi pi 435 Oct 6 2010 line2.png -rw-r--r-- 1 pi pi 423 Oct 6 2010 line3.png -rw-r--r-- 1 pi pi 497 Oct 6 2010 line4.png -rw-r--r-- 1 pi pi 416 Oct 6 2010 line5.png -rw-r--r-- 1 pi pi 511 Nov 10 2010 line6.png -rw-r--r-- 1 pi pi 229 Oct 6 2010 num00.png -rw-r--r-- 1 pi pi 212 Oct 6 2010 num01.png -rw-r--r-- 1 pi pi 227 Oct 6 2010 num02.png -rw-r--r-- 1 pi pi 230 Oct 6 2010 num03.png -rw-r--r-- 1 pi pi 227 Oct 6 2010 num04.png -rw-r--r-- 1 pi pi 228 Oct 6 2010 num05.png -rw-r--r-- 1 pi pi 228 Oct 6 2010 num06.png -rw-r--r-- 1 pi pi 225 Oct 6 2010 num07.png -rw-r--r-- 1 pi pi 234 Oct 6 2010 num08.png -rw-r--r-- 1 pi pi 229 Oct 6 2010 num09.png -rw-r--r-- 1 pi pi 355 Oct 6 2010 player1.png -rw-r--r-- 1 pi pi 19900 Nov 16 2001 presstart.ttf -rw-r--r-- 1 pi pi 417 Dec 31 2010 question.png -rw-r--r-- 1 pi pi 88188 Sep 1 2010 right.wav -rw-r--r-- 1 pi pi 65580 Sep 26 2010 ring01.wav -rw-r--r-- 1 pi pi 63916 Sep 26 2010 ring02.wav -rw-r--r-- 1 pi pi 383 Oct 3 2010 selarrow.png -rw-r--r-- 1 pi pi 28844 Oct 1 2010 select.wav -rw-r--r-- 1 pi pi 166780 Sep 26 2010 teedo.wav -rw-r--r-- 1 pi pi 220 Nov 1 00:50 timegal.cfg -rw-r--r-- 1 pi pi 2019095151 Dec 21 2010 timegal.m2v -rw-r--r-- 1 pi pi 38863289 Dec 21 2010 timegal.ogg -rw-r--r-- 1 pi pi 186513 Oct 29 12:02 timegal.singe -rw-r--r-- 1 pi pi 18 Dec 9 2010 timegal.txt -rw-r--r-- 1 pi pi 392 Oct 6 2010 topscore.png -rw-r--r-- 1 pi pi 89512 Sep 26 2010 wrong.wav
-
Yep - my file structure looks just like the one @DirtBagXon has listed above and works great.
-
@dirtbagxon
I have those files now in the timegal folder. On my RP4 when I goto cd /opt/retropie/emulators/singe and run ./run.sh, the only game available is singe.
This is the directory. I did everything SaturnX had in his guide. Am I missing something?? -
So your
/opt/retropie/emulators/singe
directory looks good (this is where the emulator is compiled)Are you TimeGal files in the following location?
/home/pi/RetroPie/roms/daphne/singe/timegal
?and for example, you have the following files:
/home/pi/RetroPie/roms/daphne/singe/timegal/timegal.singe
and;
/home/pi/RetroPie/roms/daphne/singe/timegal/timegal.txt
Please do the following - ssh/quit to to terminal and:
cd /home/pi/.daphne ls -al
And provide the output here. Since you say when you execute
./run.sh
from/opt/retropie/emulators/singe
you're not seeing timegal, that means that your symlinks are not correct for the rom/game file location. By defaut, the singe emulator will look for games in the following location/home/pi/.daphne/singe/[game]
and the purpose of the symlink is to move where it looks into the standard roms directory as a sub directory of Daphne. -
@saturnx
TimeGal files are in the right folder:
This is what I get with ls -al. -
@gamesman Yeah, I can see the problem, the symlinks are not set up correctly.
The only symlink that's correctly setup is the one from
singeinput.ini
you can see that in your screenshot:singeinput.ini -> /opt/retropie/configs/daphne/singeinput.ini
However,
pics
,sound
, andsinge
are not linked.Can you tell me if the
pics
,sound
, andsinge
directories are empty? If they are, you should do the following:NOTE: The instructions below include removing files/directories, make sure you're in the right location when issuing commands
- Remove the directories
cd /home/pi/.daphne rmdir pics rmdir sound rmdir singe
- Then create the proper symlinks:
sudo ln -s /opt/retropie/emulators/singe/pics /home/pi/.daphne/pics sudo ln -s /opt/retropie/emulators/singe/sound /home/pi/.daphne/sound sudo ln -s /home/pi/RetroPie/roms/daphne/singe /home/pi/.daphne/singe
If the directories are not empty, then you likely copied, instead of symlinked the directories from
/opt/retropie/emulators/
If this is the case, then I'd recommend the following:
-
Make sure
/opt/retropie/emulators/singe/pics
and/opt/retropie/emulators/singe/sound
have the expected files in them -
Remove the existing folders and contents
cd /home/pi/.daphne rm -r pics rm -r sound rm -r singe
- Create symlinks:
sudo ln -s /opt/retropie/emulators/singe/pics /home/pi/.daphne/pics sudo ln -s /opt/retropie/emulators/singe/sound /home/pi/.daphne/sound sudo ln -s /home/pi/RetroPie/roms/daphne/singe /home/pi/.daphne/singe
Let me know how it plays out. In the end what you should see if everything is setup properly when running
ls -al
in/home/pi/.daphne/
is the following: (view of my system)drwxr-xr-x 4 pi pi 4096 Feb 25 11:34 . drwxr-xr-x 10 pi pi 4096 Feb 26 16:14 .. -rw-r--r-- 1 pi pi 4073 Feb 25 11:44 daphne_log.txt drwxr-xr-x 2 pi pi 4096 Feb 8 21:04 games lrwxrwxrwx 1 pi pi 35 Feb 8 21:02 pics -> /opt/retropie/emulators/singe/pics/ drwxr-xr-x 2 pi pi 4096 Feb 8 21:04 screenshots lrwxrwxrwx 1 pi pi 36 Feb 8 21:03 singe -> /home/pi/RetroPie/roms/daphne/singe/ lrwxrwxrwx 1 pi pi 43 Feb 8 21:06 singeinput.ini -> /opt/retropie/configs/daphne/singeinput.ini lrwxrwxrwx 1 pi pi 36 Feb 8 21:02 sound -> /opt/retropie/emulators/singe/sound/
Good luck!
-
That worked. I had to do the second choice. I believe what happened is when I followed this from the beginning and installed Singe, I copied the sound, pics, and singe folders like it originally said. When you put up your guide and I went through it, it was trying to install over the original installation folders. After removing the existing folders and creating the symlinks it worked. Thank you for the help.
-
@adambegood said in (REQUEST) Add Daphne Singe emulator?:
Further Edit: I manually amended the X and Y values in the run.sh
What did you amend the X and Y values too in order for them to work? I have the same screen issue you did.
-
@gamesman said in (REQUEST) Add Daphne Singe emulator?:
@adambegood said in (REQUEST) Add Daphne Singe emulator?:
Further Edit: I manually amended the X and Y values in the run.sh
What did you amend the X and Y values too in order for them to work? I have the same screen issue you did.
You would need to alter the X and Y values in
run.sh
to the resolution of your screen.However there may be an alternate auto-scaling change you can make, using
-fullscreen_window
as detailed here:https://retropie.org.uk/forum/post/252983
-
@gamesman said in (REQUEST) Add Daphne Singe emulator?:
@adambegood said in (REQUEST) Add Daphne Singe emulator?:
Further Edit: I manually amended the X and Y values in the run.sh
What did you amend the X and Y values too in order for them to work? I have the same screen issue you did.
1920 and 1080 for my screen. :)
-
So I’ve been experimenting with the full KMS video driver on my Pi4 to address some of the screen tearing issues that we see on the Pi4 due to the “fake KMS” driver.
While it works great with RetroArch - it breaks any SDL1 based emulators (
daphne
,singe
,dosbox
,openbor
,fuse
, etc..).Given that the full KMS driver is the future and that development has ceased on the “fake KMS” driver - any idea on whether it would be possible to port
singe
to SDL2?I’d be happy to support/test any way I can!
And as a side note - since this also breaks
Daphe
the same also applies. I’d love to see it made “future friendly” by migrating it over to SDL2.For reference, SDL has published a migration guide.
https://wiki.libsdl.org/MigrationGuideThoughts?
-
@saturnx said in (REQUEST) Add Daphne Singe emulator?:
So I’ve been experimenting with the full KMS video driver on my Pi4 to address some of the screen tearing issues that we see on the Pi4 due to the “fake KMS” driver.
While it works great with RetroArch - it breaks any SDL1 based emulators (
daphne
,singe
,dosbox
,openbor
,fuse
, etc..).Given that the full KMS driver is the future and that development has ceased on the “fake KMS” driver - any idea on whether it would be possible to port
singe
to SDL2?I’d be happy to support/test any way I can!
And as a side note - since this also breaks
Daphe
the same also applies. I’d love to see it made “future friendly” by migrating it over to SDL2.For reference, SDL has published a migration guide.
https://wiki.libsdl.org/MigrationGuideThoughts?
Heya @saturnx,
I have thought about tackling this a few times, but I just don't have the spare time to undertake it at the moment. It looks to be a non-trivial task. And to be honest, the interest in the projects is fairly small looking at the github stats.
https://github.com/libretro/daphne - Has tackled the move to SDL2 but seems to have several issues, including a major audio bug, plus no one seems to be developing it any longer.
I also looked at Hypseus a while ago, which also had ported Daphne to SDL2 but seemed to have a lack in documentation. However, I just noticed that Jeffrey Clark seems to have picked up on developing it again this year. So it may be worth poking around his repo: https://github.com/btolab/hypseus
As far as future-proofing Singe is concerned, I think Singe V2 has that route covered :)
I initially started both my Daphne and Singe repos for 64bit Ubuntu desktops* after re-discovering Dragons Lair et al. Finding that all the available versions, at that time, had issues and wouldn't compile in 64bit land. At the moment with full OpenGL and hardware acceleration it thankfully still works well on this platform....
*Hence, also writing the Daphne/Singe Loader frontends in GTK.
-
@dirtbagxon Thanks for that update and honestly, thanks for all the effort you've put in so far!
So after I posted my message above, I went ahead and loaded up my Pi4 with my build of RetroPie (4.7.1) that I use for development and testing.
I updated the kernel to the latest LTS that's been pushed (5.10.xx) and switched from the fake KMS driver (
vc4-fkms-v3d
) to the full KMS driver (vc4-kms-v3d
).As expected
daphne
failed to load video (but heard sound), however to my surprise, yoursinge
build ran Time Gal and Ninja Hayate just like before!!I had thought this was tied to SDL1 vs. SDL2, but it appears its tied to the use of
dispmanx
which isn't supported by KMS. Does yoursinge
build not usedispmanx
?I also just took a look at
hypseus
and compiled it last night on my Pi4, however no game was even remotely playable either due to freezes/video skips, etc.. Maybe I'm missing something, but the same titles run perfectly underdaphne
.I've posted in the other thread about
hypseus
to see if I can get the conversation going again :) -
@saturnx said in (REQUEST) Add Daphne Singe emulator?:
I had thought this was tied to SDL1 vs. SDL2, but it appears its tied to the use of
dispmanx
which isn't supported by KMS. Does yoursinge
build not usedispmanx
?It only uses GL and SDL. As I understand it, dispmanx is a poor version of SDL not used very much any more, but seems to be adopted to some degree on RetroPie or RPi in general.
I also just took a look at
hypseus
and compiled it last night on my Pi4, however no game was even remotely playable either due to freezes/video skips, etc.. Maybe I'm missing something, but the same titles run perfectly underdaphne
.What version of Daphne are you using? The RetroPie build or custom build from DavidGriffith or myself ? These repos are very similar to the Singe repo, so may also work. They have the same fixes in that I put into the underlying Singe repo daphne engine.
I've posted in the other thread about
hypseus
to see if I can get the conversation going again :)Yeah I would like to see that up and working too, maybe it needs some TLC from extra developers to give it a kickstart.
-
@dirtbagxon That makes total sense about the use of GL and SDL in your singe build.
Yeah the first thing I noticed switching to the full KMS is the loss of the boot splash screen, as it turns out RetroPie uses
dispmanx
for the boot splash screen.I’m actually using @pjft’s build (which fixed issues with DragonRise joystick encoders). I didn’t even know you or DavidGriffith had a Daphne repo. I’m sure I can find yours, but do you have a link for the DavidGriffith repo?
Any insight on the differences between yours and his?
Regardless I’ll give them a go on my dev build and report back. The full KMS driver is still new territory in the RetroPie space and such is the adventure of being on the “bleeding edge”.
Also - any tips on compiling on the pi? Just want to ensure I don't miss anything. Would it be the same as the singe install?
-
@saturnx said in (REQUEST) Add Daphne Singe emulator?:
I’m actually using @pjft’s build (which fixed issues with DragonRise joystick encoders). I didn’t even know you or DavidGriffith had a Daphne repo. I’m sure I can find yours, but do you have a link for the DavidGriffith repo?
https://github.com/DirtBagXon/daphne - Install is pretty much identical to Singe
I pushed all of my changes back to David, including the fixes for Badlands, Road Blaster and Bega's Battle on the RPi from pjft.
pjft - Any insight on the differences between yours and his?
@pjft's version is a fork of grant2258 which in turn is a fork of the RetroPie fork, whereas I forked from David's which is more inline with Matt's original version.
https://github.com/mirror/daphne-emu/network/members
- Ignore "DirtBagZon" above, it was a created to get around a Github restriction on cloning multiple forks of the same repo (mentioned somewhere in this thread).
There are also a few enhancements I added while back, for example utilising an alternate game customised -keymapfile file. e.g. Flight based games.
See here:https://github.com/DirtBagXon/daphne/tree/master/custom
If @pjft shares the merge request for the DragonRise joystick encoders, you could patch it into any daphne. If it was just the fact of adding more button/controls on the joystick: I have committed a patch today, to daphne, to match the Singe merge from pjft I had previously.https://github.com/DirtBagXon/daphne/commit/47bda19b52da4a9c04770a22c272fc93b0b20d0d
-
@dirtbagxon Awesome thanks for that comprehensive overview.
I've just compiled it on my pi4 from your repo, I'll give it a go a bit later tonight to see how it runs/performs.
I appreciate the custom run script - that will help me hook in nicely with EmulationStation.
Regarding the DragonRise Encoder issue - it'd be great if @pjft can share the updates, but at least on my end it's become a non-issue as I've transitioned to using
xboxdrv
for keyboard emulation which provides wayyyy more flexibility than relying on the joystick interface in daphne/singe.
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.