Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

(REQUEST) Add Daphne Singe emulator?



  • I found this today: https://github.com/DirtBagXon/singe
    UPDATE I got Time Gal working, thanks to the dev and following directions -_-. I also had to use daphne's dapinput.ini and rename it to singeinput.ini to get controllers working. Place it in /home/pi/.daphne/

    These are the supported games:
    Crime Patrol
    Crime Patrol 2: Drug Wars
    Mad Dog McCree
    Mad Dog McCree 2: The Lost Gold
    Ninja Hayate
    Space Pirates
    Time Gal
    Time Traveler
    The Last Bounty Hunter
    Who Shot Johnny Rock?
    38 Ambush Alley
    Blue Thunder
    HydroSub 2021
    Pops Ghostly
    Sonic Fury



  • Hi,

    The directory structure for both Daphne and Singe on a linux system is within the directory structure of home (~) of the user that will run singe.

    ~/.daphne/singe/
    

    There are other files, in the ~/.daphne directory that are needed for the standalone singe, these are described in the README on the github repo:

    mkdir -p ~/.daphne/singe ~/.daphne/sound ~/.daphne/pics
    cp pics/singeme.bmp ~/.daphne/pics/
    cp pics/gamenowook.bmp ~/.daphne/pics/
    cp sound/grumble.wav ~/.daphne/sound/
    

    Your game data and singe file should then exist within sub-directories within ~/.daphne/singe.

    i.e. ~/.daphne/singe/maddog/

    Within that directory the game .singe, sound and video files should exist in the prescribed directory structure within the singe files. (Note: this should be standard)

    If you could post the error messages you are seeing, perhaps I can take a look.



  • @DirtBagXon Thanks for the help. It was an error on my end. I tried again right now and it works.

    New problem. I'm trying Time Gal. The game loads and I can see its intro. I can insert credits fine with "5" on my keyboard. Pressing "1" to start the game freezes the game. Not sure if the game is properly working, though.

    Since I didn't see a "singeinput.ini", I tried daphne's and it worked with my controller. Same results, though. Game freezes when I press start.



  • @Darksavior
    Hey
    so how do i make it run too ? :)



  • Heya,

    Update: NO LONGER REQUIRED - Fixed in source code.

    The two games, 'Time Gal' and 'Ninja Hayate' use compiled lua bytecode, with the original versions being 32bit specific. I had to address these games specifically in 64bit land. I tried to detail in the repo README, but had to address an issue within the bytecode specifically to address 'arithmetic on a nil value' - See:

    https://github.com/DirtBagXon/singe/tree/master/bytecode

    I put new 'fixed' .singe files there, so give them a try. The fix was trivial once I managed to decompile the bytecode. Changes are detailed in the repo link above.



  • @DirtBagXon
    Only this two games works ?
    the others dont ? :
    and thanks ! :)



  • No all the others work, but these two require specific changes.



  • @DirtBagXon
    Got u
    thanks a lot .
    so i just copy the to ~/.daphne/singe/ folder with the name game ?
    i will give a try thanks again :)



  • Update: These file changes are NO LONGER REQUIRED. The issue is fixed in the source code, overcoming the nil arithmetic issue.

    mv ~/.daphne/singe/timegal/timegal.singe ~/.daphne/singe/timegal/timegal.singe.old
    mv ~/.daphne/singe/hayate/hayate.singe ~/.daphne/singe/hayate/hayate.singe.old
    
    cp bytecode/timegal.singe ~/.daphne/singe/timegal/timegal.singe
    cp bytecode/hayate.singe ~/.daphne/singe/hayate/hayate.singe
    

    Ensure you are using the latest commit in repo.



  • @DirtBagXon Thanks again. Now I'm noticing screen tearing. Ah well, it works.
    I assume your daphne fork is not arm-friendly? I noticed yours might have a working Road Blaster.



  • Regarding the tearing, I have not experienced. You could try with -nohwaccel argument in run.sh ./$SINGE_BIN variables.

    There are other arguments seen in src/io/cmdline.cpp - parse_cmd_line() you could also try playing with.

    To be honest it has been some time since I looked at this code.



  • @DirtBagXon Didn't work. Looking at the log, it's already running without acceleration. It's fine.
    I'm using a pi4. YUV overlay is done in software (ie unaccelerated)



  • I only ran the software headlessly from the Pi, so didn't use native display. Is it using OpenGL ?

    --CPU : Intel(R) 3400 MHz || Mem : 15936 megs
    --OS : Linux 5.4 || Video : NVIDIA Corporation GK208B [GeForce GT 710] (rev a1)
    --OpenGL: Compiled In
    --RGB2YUV Function: C
    --Line Blending Function: C
    ...
    --YUV overlay is hardware accelerated.
    

    I checked the singeinput.ini reading, and working fine this side. It should be located in the same place as daphne config files.

    i.e. ~/.daphne/singeinput.ini

    With:

    Looking for: singeinput.ini
    Remapping input ...
    Framefile parse succeeded.
    

    Without:

    Looking for: singeinput.ini
    Framefile parse succeeded.
    


  • @DirtBagXon Yes,I figured out the ini file doesn't belong in the singe folder. The pi4 uses open gl es only, I believe.



  • I don't use Retropie, so can't test, but from a comment I found in a doom3 (dhewm3) post, I presume XINIT: is a launcher instruction to launch X window with full OpenGL.

    "dhewm3 has to be run with full openGL on the pi otherwise there are game breaking graphical issues. When launching the game engine it needs to be launched with XINIT:/path/to/dhewm3. This will launch it in an x session and insures that it doesn't try to use openGL ES."

    I would guess you would need to add this in run.sh on the line:

    ./$SINGE_BIN \

    XINIT:./$SINGE_BIN \

    Not sure of the format to specify this in a shell script, but interested if this has any effect, or if someone more knowledgeable in retropie @quicksilver can expand....



  • Hey so i put a folder singe in the daphne folder
    with folder games for each game .
    63ab543c-d2a2-4ecf-ae7c-6fda6cf04a8c-image.png
    but i dont see anything new in the daPHNe just the same *.daphne games that i had already .
    what did i miss ? :\

    SORRY i thought its for pi4 retorpie :(



  • @shavecat

    Not sure of your question here, but yes Singe is running on Pi4 Retropie.

    "i dont see anything new in the daPHNe" - this is Singe not Daphne.



  • @DirtBagXon
    Hey
    thanks for the answer :)
    can u tell me how can i do that ?
    step by step .

    i tried before but with no success .

    thanks again



  • @shavecat

    Hey,

    You should be able to follow the documentation at: https://github.com/DirtBagXon/singe

    This should get you to at least a point where you can post the output of the log from running ./run.sh crimepatrol, so we can see what's going wrong.



  • Hi guys, new to GitHub, setting up Retropie on raspberry pi 4 for light guns (new sinden light gun) and want to add the singe shooters. I have Daphne running already. But I'm at a loss as to how to compile this to get started. I have all the games, etc.
    Can someone get me started on how to set this up via command line? I should be able to sort the file placement from there.
    Thanks


Log in to reply
 

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.