(REQUEST) Add Daphne Singe emulator?
-
Here's a quick how-to guide for Singe that I've pieced together from various posts and people - this worked smoothly on my Pi4 setup, but I don't any reason it wouldn't work on a Pi3.
Overview of the Steps:
- Download/Install Dependencies
- Download/Compile/Install Singe
- Create Symbolic Links (symlinks) for easier game/controls management
- Copy Game Data
- Modify EmulationStation to show Singe launch entries under Daphne
Prerequisites:
- Daphne installed (and functioning correctly) on your RetroPie installation
- Comfort with terminal / command-line interfaces
Step 1: SSH Into your Pi OR exit to terminal from Emulation Station (F4)
Step 2: Dependencies
Dependencies are listed in the ReadMe on @DirtBagXon's Repo: https://github.com/DirtBagXon/singe/blob/master/README.md
On a clean install of RetroPie 4.7.1, I found only two additional dependencies needed to be installed,
libsdl-image1.2-dev
andlibsdl-ttf2.0-dev
You can confirm what packages you have installed by running the following:
dpkg-query -f '${binary:Package}\n' -W
Then run the following command to install the necessary dependencies:
sudo apt-get install libsdl-image1.2-dev libsdl-ttf2.0-dev
Alternatively, if you want to install or ensure you have all the necessary dependencies, use the following command:
sudo apt-get install libasound2-dev libcaca-dev libglew-dev libglib2.0-dev libogg-dev libpcre3-dev libpcre32-3 libpng-dev libpng-tools libpulse-dev libsdl-image1.2-dev libsdl-ttf2.0-dev libsdl1.2-dev libslang2-dev libvorbis-dev libxi-dev pkg-config
Step 3: Download Source
NOTE: For consistency with the RetroPie file structure, the instructions will install the Singe emulator binaries into
/opt/retropie/emulators/
Download source from @DirtBagXon's repo:
cd /opt/retropie/emulators/ sudo git clone https://github.com/DirtBagXon/singe.git singe
Step 4: Compile and Install
Next steps are to compile and install Singe, assuming you are already in directory
/opt/retropie/emulators
cd singe/src/vldp2 sudo ./configure --disable-accel-detect sudo make -f Makefile.linux cd ../game/singe sudo make -f Makefile.linux cd ../.. sudo make cd ..
All should have gone smoothly and you’ll now have Singe installed into
/opt/retropie/emulators/singe
Step 5: Creating Symlinks
This comes from my personal preference, and I suggest the following so that you can easily manage your games / configs via network shares and keeps the file structure intact.
As designed, Singe expects game data to be located
/home/pi/.daphne/singe/
along with resources and your controller configurationsingeinput.ini
My preference and the steps outlined below will result in the following:
Game Data Stored in:
/home/pi/RetroPie/roms/daphne/singe/[game]
Controller Config located in:/opt/retropie/configs/daphne/singeinput.ini
NOTE: The following assumes you’ve already installed Daphne and therefore already have your controls configured in
/opt/retropie/configs/daphne/dapinput.ini
Create required directories and copy control input over from Daphne:
mkdir -p /home/pi/.daphne/ mkdir -p /home/pi/RetroPie/roms/daphne/singe cp /opt/retropie/configs/daphne/dapinput.ini /opt/retropie/configs/daphne/singeinput.ini
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 sudo ln -s /opt/retropie/configs/daphne/singeinput.ini /home/pi/.daphne/singeinput.ini
Step 6: Copy Game Data
Game data should be copied into/home/pi/RetroPie/roms/daphne/singe/
within a sub-directory name matching the game title.The primary .singe and .txt framefiles should also match this naming convention within the game sub-directory:
/home/pi/RetroPie/roms/daphne/singe/timegal/timegal.singe /home/pi/RetroPie/roms/daphne/singe/timegal/timegal.txt
Step 7: Modify EmulationStation to launch script files for Daphne/Singe
Since starting a Singe title is done through calling
./run.sh
script, a quick modification is required in EmulationStation so you can call script files (.sh) from ES.sudo nano /etc/emulationstation/es_systems.cfg
Find
daphne
and add.sh
and.SH
under the<extension>
field.Save the file and quit nano.
NOTE: Also check for the existence of
es_systems.cfg
in/opt/retropie/configs/all/emulationstation
and update the extensions for Daphne as well as per above.Step 8: Create Launch Scripts for Singe Games
Now that you’ve got everything set up, you just need to create the launch script for your Singe titles to be launched from ES.
Using Time Gal as an example:
- Create a file called
+Start Timegal.sh
in/home/pi/RetroPie/roms/daphne/
- Place the following in that file:
cd /opt/retropie/emulators/singe ./run.sh timegal
Step 9: Restart EmulationStation and Enjoy Singe!
That’s all there is to it!
Just restart EmulationStation / reboot your Pi and now you should have an entry under Daphne for the new Singe title (you can edit the metadata through ES to change the title).
Let me know if you have any issues with the above, I’ve put together most of the above from memory, so I hope I didn’t miss anything, but if anyone comes across any errors, let me know.
Enjoy!
-
@saturnx said in (REQUEST) Add Daphne Singe emulator?:
Here's a quick how-to guide for Singe that I've pieced together from various posts and people - this worked smoothly on my Pi4 setup, but I don't any reason it wouldn't work on a Pi3.
Great work there @SaturnX , this post should be pinned if that's possible in this forum...
-
I am having a nightmare here.
Everything has worked perfectly up to this point, but my Emulation Station is not seeing the .sh files... Thanks so much for the write-up anyway, so clear!
I've tried .sh and .SH just in case.
<system> <name>daphne</name> <fullname>Daphne</fullname> <path>/home/pi/RetroPie/roms/daphne</path> <extension>.daphne .DAPHNE .sh .SH</extension> <command>/opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ daphne %ROM%</command> <platform>daphne</platform> <theme>daphne</theme> </system>
I can't work out why. I can't see the singe folder either on Emulation Station, it is just the Daphne games I already had installed, that is all I can see.
Any idea what might be going on here? I am so confused. I've checked my gamelist.xml to make sure I hadn't tried this before or anything stupid, and edited the files to be hidden. I am not in Kiosk or Kid mode. I've ran Daphne games and they all still work without issue.
Ps. Also, Monkey Island 2 is probably my favourite game ever, so kudos on your Display Picture. :)
-
@adambegood Glad to hear it's worked for you so far! Here's a couple thoughts:
Check whether you have a copy of
es_systems.cfg
in the following location:/opt/retropie/configs/all/emulationstation
If so, ensure you add
.sh
and.SH
there as well under Daphne as well.Also when you edited
/etc/emulationstation/es_systems.cfg
you made sure to save? (i.e. edited thoughsudo nano
)?Also, make sure that the files you created
+Start Timegal.SH
and+Start Hayate.SH
don't have a hidden extension (i.e.+Start Timegal.SH.txt
)Try that and let me know how it pans out. I used the instructions I posted above and it worked without issue.
We'll get you sorted out - you're so close!
Also, just to confirm you're set up correctly, can you exit to terminal or SSH and type the following:
cd /opt/retropie/emulators/singe ./run.sh
You should receive a message saying that both Time Gal and Hayate are installed.
And thanks! Without question LucasArts and other Point-and-Click adventures are my fave genre!
-
@saturnx Just wanted to drop by and say your above instructions were awesome.
I've got it all installed and working good.
Also, I tested the American Laser Games and the WoW Action Max games......yep, they also work on RetroPie now with Daphne Singe. They have a little tweak in their roms /singe folder path, but otherwise, they also run fine.
Granted, I don't have any light gun to test with, I just tested to see if they would run and I could insert coins and start them to play.
-
@saturnx Superb! You were right about that second es_systems.cfg file. Good shout.
I am now getting chucked out when I select the .sh files though, I just get a black screen.
My runcommand.log shows:
Parameters: Executing: bash "/home/pi/RetroPie/roms/daphne/+Start Timegal.sh" Singe Launcher : Script dir is /opt/retropie/emulators/singe Missing file: /home/pi/.daphne/singe/timegal/timegal.singe ? /home/pi/.daphne/singe/timegal/timegal.txt ?
I have no such directory as .daphne, so unsure why it is looking there..?
I ran the command you mentioned and got this, which looks okay.
Singe Launcher : Script dir is /opt/retropie/emulators/singe Specify a game to try: ./run.sh [-fullscreen] <gamename> Games available: hayate timegal
-
@adambegood said in (REQUEST) Add Daphne Singe emulator?:
@saturnx Superb! You were right about that second es_systems.cfg file. Good shout.
I am now getting chucked out when I select the .sh files though, I just get a black screen.
My runcommand.log shows:
Parameters: Executing: bash "/home/pi/RetroPie/roms/daphne/+Start Timegal.sh" Singe Launcher : Script dir is /opt/retropie/emulators/singe Missing file: /home/pi/.daphne/singe/timegal/timegal.singe ? /home/pi/.daphne/singe/timegal/timegal.txt ?
Looks mostly there, is this a case issue? Remember RetroPie runs linux and linux is case sensitive on filenames.
Should be all lowercase.
Presuming you did SaturnX's:
sudo ln -s /home/pi/RetroPie/roms/daphne/singe ~/.daphne/singe
Run
ls -al /home/pi/.daphne/singe/timegal/*
to see the files in there....
-
@dirtbagxon said in (REQUEST) Add Daphne Singe emulator?:
@adambegood said in (REQUEST) Add Daphne Singe emulator?:
@saturnx Superb! You were right about that second es_systems.cfg file. Good shout.
I am now getting chucked out when I select the .sh files though, I just get a black screen.
My runcommand.log shows:
Parameters: Executing: bash "/home/pi/RetroPie/roms/daphne/+Start Timegal.sh" Singe Launcher : Script dir is /opt/retropie/emulators/singe Missing file: /home/pi/.daphne/singe/timegal/timegal.singe ? /home/pi/.daphne/singe/timegal/timegal.txt ?
Looks mostly there, is this a case issue? Remember RetroPie runs linux and linux is case sensitive on filenames.
Should be all lowercase.
Presuming you did SaturnX's:
sudo ln -s /home/pi/RetroPie/roms/daphne/singe ~/.daphne/singe
Run
ls -al /home/pi/.daphne/singe/timegal/*
to see the files in there....
Okay, that makes sense. Let me have a look at this again in the morning. Thanks, @DirtBagXon
-
Yep the symlink (
ln
command) is important. It may also be a case issue, I’ll correct my guide.You’re so close!!
-
Thanks so much, @dirtbagxon and @saturnx !
My mistake was running the SSH as Root, so the symlinks were in totally the wrong place! Doh.
All resolved now, and the games do run.
Two problems -
-
They only run in the top left quarter of my screen, any idea where the config is to change that? Daphne runs full screen (bordered but mostly full)
-
I can't seem to get Time Gal to play once it loads, I have a button that puts Credits in and one that restarts me back to the Taito screen, but nothing seems to actually start the game. Do I need to mess about with my joystick config? I could start Dragon's Lair, I tried that yesterday.
-
-
@adambegood said in (REQUEST) Add Daphne Singe emulator?:
- They only run in the top left quarter of my screen, any idea where the config is to change that? Daphne runs full screen (bordered but mostly full)
This is an SDL fullscreen issue. Two things to check:
- Make sure you are passing the -fullscreen argument to the run.sh script in your Timegal.sh script
./run.sh -fullscreen timegal
- Some SDL implmentations on Pi don't use SDL_FULLSCREEN correctly, so use this part from the F.A.Q. in the repo to workaround:
Fullscreen './run.sh -fullscreen <game>' does not work, but produces no error. Try -fullscreen_window instead, using SDL_NOFRAME instead of SDL_FULLSCREEN This can be altered in the run.sh thus: if [ "$1" = "-fullscreen" ]; then - FULLSCREEN="-fullscreen" + FULLSCREEN="-fullscreen_window" shift fi
Others have altered the resolution X and Y dimensions in the run.sh to fit their screen, but I think the -fullscreen_window will auto correct this. Happy to hear feedback.
The second issue looks like a key binding issue, not too sure on that and joysticks.....
Are you sure you copied or linked the daphneinput.ini, with the working config, to singeinput.ini and the correct location ? Might be another '~' user issue.
cat /home/pi/.daphne/singeinput.ini
You should see:
.. Looking for: singeinput.ini Remapping input ... ..
if it finds it correctly.
-
@saturnx said in (REQUEST) Add Daphne Singe emulator?:
Yep the symlink (
ln
command) is important. It may also be a case issue, I’ll correct my guide.You’re so close!!
Might be better to use /home/pi/ in the guide to replace ~
It will catch these issues when run as the wrong user ?
BTW: I have linked to your guide in the Github repo - I hope you don't mind :)
-
@dirtbagxon said in (REQUEST) Add Daphne Singe emulator?:
@adambegood said in (REQUEST) Add Daphne Singe emulator?:
- They only run in the top left quarter of my screen, any idea where the config is to change that? Daphne runs full screen (bordered but mostly full)
This is an SDL fullsize issue. Two things to check:
- Make sure you are passing the -fullscreen argument to the run.sh script in your Timegal.sh script
./run.sh -fullscreen timegal
- Some SDL implmentations on Pi don't use SDL_FULLSCREEN correctly, so use this part from the F.A.Q. in the repo to workaround:
Fullscreen './run.sh -fullscreen <game>' does not work, but produces no error. Try -fullscreen_window instead, using SDL_NOFRAME instead of SDL_FULLSCREEN This can be altered in the run.sh thus: if [ "$1" = "-fullscreen" ]; then - FULLSCREEN="-fullscreen" + FULLSCREEN="-fullscreen_window" shift fi
Others have altered the resolution dimensions in the run.sh to fit their screen, but I think the -fullscreen_window will auto correct this. Happy to hear feedback.
Key binding is sorted now.
I am not sure how to implement this code at all, sorry for being such a noob. I tried just changing -fullscreen to -fullscreen_window and that didn't work. The below attempt still results in a quarter screen display.
cd /opt/retropie/emulators/singe ./run.sh -fullscreen timegal if [ "$1" = "-fullscreen" ]; then - FULLSCREEN="-fullscreen" + FULLSCREEN="-fullscreen_window" shift fi
Sorry for not being able to run with this successfully.
Edit: Okay, I've worked out that I need to amend the run.sh now.
I've amended the fullscreen section to reflect the above. https://pastebin.com/ejxNNCnN
Is there another further I need to do?
Further Edit: I manually amended the X and Y values in the run.sh
All good now! Thanks so much again, @DirtBagXon and @SaturnX !
-
@adambegood said in [(REQUEST) Add Daphne Singe emulator?]
Sorry for not being able to run with this successfully.
Edit: Okay, I've worked out that I need to amend the run.sh now.
I've amended the fullscreen section to reflect the above. https://pastebin.com/ejxNNCnN
Is there another further I need to do?
There are a couple of mechanisms to getting singe to display in fullscreen.
- A static fullscreen resolution can be set manually. See Note: 3 below.
- Or an auto-scaling fullscreen can be achieved by altering run.sh as detailed in the github F.A.Q.:
1. You should have one or other of the FULLSCREEN= lines in run.sh.
So the section should read either:
if [ "$1" = "-fullscreen" ]; then FULLSCREEN="-fullscreen" shift fi
OR
if [ "$1" = "-fullscreen" ]; then FULLSCREEN="-fullscreen_window" shift fi
2. However, this is only used when the run.sh script is given the -fullscreen argument:
./run.sh -fullscreen <game>
So using SaturnX's setup. this is done within the Timegal.sh file indicated in this line of his setup:
Create a file called +Start Timegal.sh in /home/pi/RetroPie/roms/daphne/
Within that file, SaturnX states you need to add:
cd /opt/retropie/emulators/singe ./run.sh timegal
You will need to change this to:
cd /opt/retropie/emulators/singe ./run.sh -fullscreen timegal
Note 1: The -fullscreen argument is within two scripts, run.sh and Timegal.sh, they are separate and related but different.
-fullscreen_window is an SDL command used only in run.sh (if you change it) to overcome a SDL limitation in the Pi displaying fullscreen. (See below)
Note 2: Until you have tried the changes in Timegal.sh you won't know if you need to alter run.sh to -fullscreen_window - as the F.A.Q. states:
Fullscreen './run.sh -fullscreen <game>' does not work, but produces no error.
Note 3: An alternate solution that can be used, is to alter the -x and -y values in run.sh to your current screen resolution. This change is not auto-sensing and will require a manual change if the screen resolution is ever changed.
.. -volume_vldp 30 \ -x 1920 \ -y 1080
-
@dirtbagxon great idea, I’ll update the guide. And no issues at all with linking to guide, the more awareness the better!
-
@dirtbagxon All good, thank you very very much! The games are hard as nails though!
-
Thank you for stirring the fire back up. I wasn't sure if anyone would go through the steps of making a guide I am going to test this out .
-
I get a weird folder for the Symlink of .daphne/singe:
The Symlink for .daphne/pics is fine:
If I try to open the .daphne/singe/singe folder I get this error:
The Symlinks for pics and sound go to their respective Symlink folders.
-
In my instructions,
/home/pi/.daphne/singe
should symlink to/home/pi/RetroPie/roms/daphne/singe
Did you create the new
singe
directory under your Daphne roms folder before creating the symlink?You’ll need to remove the symlink you created and recreate. Did you use the commands in my post?
Let me know!
-
I typed it how you had it:
sudo ln -s /home/pi/retropie/roms/daphne/singe /home/pi/.daphne/singeThen I realized it should have been:
sudo ln -s /home/pi/RetroPie/roms/daphne/singe /home/pi/.daphne/singeCase sensitive Linux.
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.