Daphne . Arcade joystick orientation wrong.
-
@pjft it works!!!!!!!! THANK YOU SOOOOOOO MUCH!!!!
Dragons Lair 2 tested 👌🏼👌🏼👌🏼
Any idea why it uses player 2 controls (not that I’m that bothered)
-
I've used the modified build done by grant(?) that was posted here to fix the joystick issue.
However, I found that the next time I updated RetroPie, Daphne wrote over the changes and I was back to square one.
Are you able to update and still keep these changes in place?
I really wish we could get the official build of Daphne fixed once and for all for this issue. -
@pjft Ok, Updated Setup script but still fails.
Anyway I see that the issue starting when compiling thiscc -mcpu=cortex-a72 -mfpu=neon-fp-armv8 -O2 -fPIC `sdl-config --cflags` -I./include -fsigned-char -c libmpeg2/cpu_accel.c -o libmpeg2/cpu_accel.o libmpeg2/cpu_accel.c:24:10: fatal error: config.h: File or directory not existing #include "config.h" ^~~~~~~~~~ compilation terminated.
I see that in include directory there is only a config.h.in and not config.h.
Could you past me build function from your Daphne.sh? Thanks -
@pjft
Ok I checked in log and I found a previous error....= = = = = = = = = = = = = = = = = = = = = Building 'daphne' : Daphne - Laserdisc Emulator = = = = = = = = = = = = = = = = = = = = = checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for gawk... no checking for mawk... mawk checking whether make sets ${MAKE}... yes checking whether to enable maintainer-specific portions of Makefiles... no checking build system type... autotools/config.guess: unable to guess system type This script, last modified 2002-09-03, has failed to recognize the operating system you are using. It is advised that you download the most up to date version of the config scripts from ftp://ftp.gnu.org/pub/gnu/config/ If the version you run (autotools/config.guess) is already up to date, please send the following data and any information you think might be pertinent to <config-patches@gnu.org> in order to provide the needed information to handle your system. config.guess timestamp = 2002-09-03 uname -m = aarch64 uname -r = 5.4.72-v8+ uname -s = Linux uname -v = #1356 SMP PREEMPT Thu Oct 22 13:58:52 BST 2020 /usr/bin/uname -p = /bin/uname -X = hostinfo = /bin/universe = /usr/bin/arch -k = /bin/arch = /usr/bin/oslevel = /usr/convex/getsysinfo = UNAME_MACHINE = aarch64 UNAME_RELEASE = 5.4.72-v8+ UNAME_SYSTEM = Linux UNAME_VERSION = #1356 SMP PREEMPT Thu Oct 22 13:58:52 BST 2020 configure: error: cannot guess build type; you must specify one
I guess that without the right 'guess' of the build type, compile will fail....
Looks that config.guess timestamp is pretty old (2002-09-03) .... but my question is... where is it looking for this file?
I found an updated one in /usr/share/misc (TimeStamp ='2018-02-24')
How can I use this one?Thanks
-
@tafaz73 I am at a loss here, apologies. What image are you running, in what device?
I don't know why you'd be getting those messages whatsoever, and I wouldn't know where to start, apologies.
-
@pjft the image is based on RetroPie 4.7.1. My raspberry is a PI4 4GB. I'm becoming crazy trying to figure out why is failing...
Anyway I found autotools in your source files. I will try to substitute with a more recent Version and see what will happen. Finger crossed -
@pjft YEEEEESSS!! Finally!!!
I have replaced config.guess in daphne/src/vldp2/autotools and the error while building has disappeared !!!
... and now, most important thing, left/right are working!!!!Thank you!!!
-
@tafaz73 Hey! Saw your success with this - when you say you replaced the config.guess / config.sub file - where did you get it from? Did you simply get the latest from the 'config' project? (savannah.gnu.org)
I'm running on a pi4 / 4.7.1 and wanted to update Daphne for better compatibility and joystick fixes.
@pjft Since config.guess / config.sub are required to identify platform specific parameters, I'm going to assume this has to do the the pi4 being newer and the config.guess is timestamped from 2002 (even in the official RetroPie repo) and out of date for the pi4 architecture.
I'm wondering if it'd be beneficial to update both in your repo to assist other users on the pi4 / 4.7.1+ combo?
Some more info on config.guess and config.sub:
GNU - config.guess / config.sub -
@saturnx Thank you.
I would consider it, but given that - as you noted - my repo is exactly the same as the official RetroPie one here, I genuinely am stumped as to why would compilation fail from my repo, but work from RetroPie's source install.
If you and others do confirm that compiling Daphne from source fails on RetroPie, then we'll fix it in both, but that not being the case I'd rather try to really understand what might be missing here before embarking in fixing the symptom rather than the cause.
I'd like to get some clarity on the context before jumping to a tactical fix.
-
@pjft excellent approach, truth be told, I’ve just installed Daphne from binary on my pi4 install and it works (minus the joystick hiccups).
I’ll see if I can give it a go from source - trying the official repo first.
If anyone else has a Pi 4 and wants to try the official repo to see if it’ll compile that would help the cause!
-
@pjft So just an update - fired up a clean install of 4.7.1 on my pi4 / 4GB and attempted to build daphne from official sources directly from the retropie setup script.
It compiled without issue and ran Dragon's Lair without issue (aside from joystick nuances).
Quickly checking the logs (see below) it looks like it determines the build type correctly, whereas when @tafaz73 tried to compile from your repo, it failed the system identification.
This is where my knowledge trails off on compiling from source.
My next step will be to try compiling the modified version from your repo. I'll report back with how it pans out.
Excerpt from Daphne Install Log:
= = = = = = = = = = = = = = = = = = = = = Building 'daphne' : Daphne - Laserdisc Emulator = = = = = = = = = = = = = = = = = = = = = checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for gawk... no checking for mawk... mawk checking whether make sets ${MAKE}... yes checking whether to enable maintainer-specific portions of Makefiles... no checking build system type... armv7l-unknown-linux-gnu checking host system type... armv7l-unknown-linux-gnu checking for gcc... gcc checking for C compiler default output... a.out
EDIT: @pjft Thanks so much! So just gave your repo a go, cleaned out the original install and it compiled and installed without issue!
Going to test run a few games to see how this performs, but so far looking good!
Just for completeness - my system details
System: Pi4 / 4GB
RetroPie: 4.7.1 (fresh install)
RetroPie Setup Script: 4.7.7 -
Total Noob here, my apologies if I'm asking in the wrong place. After an hour of internet sleuthing, this thread seems to be most active around this issue. Ive just got into the retropie world. Have a Pi4 running a 64g virtualman image file. Daphe Games all load fine. Im trying to configure my arcade stick to work with them. Im using a madcatz xbox 360 arcade stick. Ive got the dainput.ini file open, and no clue what the numbers should be for this stick. running jstest only shows -32767/32767 for the stick and all the buttons only show as on/off. Where do I go from here? I have not updated anything from the original image file I loaded. Thanks for any help!
-
@bbrueck In
jtest
, press the button you want to use and note its number. As it is described indainput.ini
, you'll have to add1
to this number (button0
injtest
becomes1
indainput.ini
and so on).In every line unter
[KEYBOARD]
the third number is the controller button number. The two numbers before that are keyboard codes.For example, to map button 3 (jtest) of your controller as the first start button in Daphne, the line would read
KEY_START1 = 49 0 4
, with 49 and 0 being irrelevant keyboard codes for that function. -
@bbrueck said in Daphne . Arcade joystick orientation wrong.:
Total Noob here, my apologies if I'm asking in the wrong place. After an hour of internet sleuthing, this thread seems to be most active around this issue. Ive just got into the retropie world. Have a Pi4 running a 64g virtualman image file. Daphe Games all load fine. Im trying to configure my arcade stick to work with them. Im using a madcatz xbox 360 arcade stick. Ive got the dainput.ini file open, and no clue what the numbers should be for this stick. running jstest only shows -32767/32767 for the stick and all the buttons only show as on/off. Where do I go from here? I have not updated anything from the original image file I loaded. Thanks for any help!
As @Clyde mentioned - that's all you need to do. Look carefully at your
jstest
output as you hit/hold the buttons, you'll see the button number that's the button corresponds to. Also the +/- 32767 is the expected output for the X and Y axis of the joystick, no concerns there.Now - there is also a nuance with the stock Daphne emulator wherein the joystick support is limited. It will, by default, assign the first joystick and it's two axes for control for the up/down/left/right -- this cannot be modified.
More importantly, you do not need to assign joystick values for the key up/down/left/right in your
dapinput.ini
(i.e. the third number) - the emulator will automatically assign based on the joystick it finds.The forked version in @pjft's repo that's discussed above implements better joystick support and addresses the analog/digital issues that are often faced with generic DragonRise USB encoders.
For example, here is my
dapinput.ini
- I use a DragonRise generic USB encoder with a Sanwa stick & buttons. Works like a dream. As you can see, the Key Up/Down/Left/Right are not assigned, as the emulator automatically assigns the axis inputs.[KEYBOARD] KEY_UP = 273 114 0 KEY_DOWN = 274 102 0 KEY_LEFT = 276 100 0 KEY_RIGHT = 275 103 0 KEY_BUTTON1 = 306 97 1 KEY_BUTTON2 = 308 115 2 KEY_BUTTON3 = 32 113 6 KEY_START1 = 49 0 10 KEY_START2 = 50 0 0 KEY_COIN1 = 53 0 9 KEY_COIN2 = 54 0 0 KEY_SKILL1 = 304 119 0 KEY_SKILL2 = 122 105 0 KEY_SKILL3 = 120 107 0 KEY_SERVICE = 57 0 0 KEY_TEST = 283 0 0 KEY_RESET = 284 0 0 KEY_SCREENSHOT = 293 0 0 KEY_QUIT = 27 113 7 END
Give that a shot and let us know how it pans out. The easiest will be getting the buttons working, once you've got that we can work on the joystick control. In general the most common joystick issues are:
- Wrong orientation (right is left, up is down, etc..)
- Joystick input not consistently detected (i.e. if you try MACH3 and hold a direction, you don't move continually in that direction or in DL/DL2/SA it doesn't always pick up your input)
Regardless, I would strongly suggest replacing the emulator with the @pjft's version and compiling from source and it will solve issue #2 above if you run into it.
Solving #1 is a slightly different matter and will be joystick / encoder dependent. In general when using a a generic USB encoder, it comes down to ensuring that the wiring from the joystick aligns with the USB encoder (i.e. AU AD AR AL VDD). For most Sanwa / Sanwa clones this involves rotating the joystick or switch plate to ensure it aligns.
-
Thanks for help. I think its working now! Dragons Lair seems to work, but I'm wondering if my rom file messed up. The game plays, but doesn't show me any arrows on the screen. Its also missing the beginning scene on the bridge where your fall through and use your sword. Are there different versions of this game, or are there launch options that I can setup? Thanks again for getting me this far!
-
@bbrueck The ROM is playing as expected, Dragon's Lair and Space Ace don't actually have arrow overlays like Dragon's Lair II or other Laserdisc games. You need to look for the flashing yellow cues for which direction/action. So there's no options that'll give you arrow/action overlays.
Next, there are actually different versions of the ROM - the Dragon's Lair Enhancement 2.1 includes the drawbridge sequence. You're likely using another version. I believe the original arcade version didn't include the drawbridge scene but was included in various home versions.
You can read up more on the enhancements on the Dragon's Lair Project site: http://www.dragons-lair-project.com/tech/enhancements/dle.asp
Now the one other thing I'll add for Dragon's Lair and Space Ace is that you can (and should) enable the on-screen scoreboard, as both these cabs originally had external scoreboards.
Daphne uses a
[rom].commands
file to pass command line arguments to the emulator that can set various options and dip-switch settings (i.e. how many credits per play, number of lives, etc...)It's highlighted in the RetroPie docs for Daphne:
https://retropie.org.uk/docs/Daphne/These files are placed in the ROM folder:
/home/pi/RetroPie/roms/daphne/[rom].daphne/[rom].commands
where [rom] = dle21, lair, sae, lair2, etc...
for Dragon's Lair and Space Ace to enable the on-screen scoreboard, the
.commands
file needs to contain:-useoverlaysb 1
You can further refine settings per game by setting dip-switch parameters with the
bank
options. These options are dependent on the ROM version used for a game.For example, I use the following for Dragon's Lair (2.1) (rom: dle21)
dle21.commands:
-blank_searches -min_seek_delay 1000 -seek_frames_per_ms 20 -useoverlaysb 1 -bank 0 11011000 -bank 1 00110111 -sound_buffer 2048 -noissues -noserversend
A description of the command line parameters is available here:
http://www.daphne-emu.com/mediawiki/index.php/CmdLineIn terms of the dip-switch settings (i.e. bank 0 and bank 1) - this sets it up with 1 coin per credit, 5 lives per credit (instead of the default 3), and a few other options. These settings are ROM and game dependent. I use Daphne on my PC to set up the game parameters as I want them then transpose the command line options from Daphne on my PC into the
.commands
file for the respective game.Glad to hear you're making progress and I hope the above helps. Let me know if you've got any questions.
-
@saturnx said in Daphne . Arcade joystick orientation wrong.:
I believe the original arcade version didn't include the drawbridge scene but was included in various home versions.
That, and DLE 2.1 plays the scenes in a more logical order, e.g. the drawbridge first, then the entrance, then the more deeper rooms. As far as I remember, the original arcade version had a more random order.
-
@saturnx WOW! Thank you so much for sharing your knowledge. Also fun to learn so much about the history of these games! So I've followed your comments up to the part about launching the 2.1 version of the game? I'm currently just selecting the game from the Virtualman interface.
Thanks again for your help! -
@bbrueck Glad I could help - spent a bit of time getting Daphne and Singe up and running on my arcade cab and wanted to share what I've learned as there doesn't seem to be a lot of discussion on laserdisc emulation.
That said - in terms of my post, I was suggesting that you enable the On-Screen Score Board, since I assume that when you start Dragon's Lair there's no score/credit info on screen in the top right/centre of the screen?
You can enable that by creating the
dle21.commands
orlair.commands
file (depending on which version you're running) and and placing it in the proper location. (See the Daphe documentation I've linked above). You can do this either through SSH or connecting to theroms
network share and taking a look under thedaphne
folder.The folder structure should look like this (linked in the Daphne docs above):
roms |-- daphne | | (The folder below holds a laserdisc...".daphne" | | tells emulationstation to add this to the menu, | | and "dle21" tells daphne to use that game engine) | | | |-- dle21.daphne | | |-- dle21.commands (Optional extra command- | | | line params!) | | |-- dle21.txt (Framefile) | | |-- lair.m2v | | |-- lair.ogg | | | | (All roms go into this roms folder) | +-- roms | +-- dle21.zip
Now you mentioned you're running a 3rd party image - so unfortunately I can't help much further as I can't say for certain what has / has not been modified from a clean / stock image of RetroPie. Given the level of customization available with RetroPie, there's no way for me or anyone on this forum to know what settings/parameters, etc.. have been changed so the information that I and others provide may not work as expected or at all.
I'd really recommend installing a fresh stock image and learning about how to setup a RetroPie install so you can troubleshoot/customize as you so desire.
Let me know if you have any other questions and I'll try my best to help you out.
-
@pjft I have another build error happening. Any idea what's causing this? I'm getting it both running command line on the Pi and via SSH.
This is on a 3A+ running 4.7.1. Tried updating scripts and still got the same error.
g++ -mcpu=cortex-a53 -mfpu=neon-fp-armv8 -O2 `sdl-config --cflags` -DUNIX -DLINUX -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DUSE_OPENGL -DRPI -DSTATIC_VLDP -Wall -fsigned-char -c m80.cpp -o m80.o g++: fatal error: Killed signal terminated program cc1plus compilation terminated. make[1]: *** [Makefile:18: m80.o] Error 1 make[1]: Leaving directory '/home/pi/RetroPie-Setup/tmp/build/daphne/src/cpu' make: *** [Makefile:71: sub] Error 2 /home/pi/RetroPie-Setup pi@retropie:~/RetroPie-Setup $
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.