Git Product home page Git Product logo

hypseus's People

Contributors

davidgriffith avatar h0tw1r3 avatar lmerckx avatar mcspaeth avatar ozfalcon avatar vanfanel avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

hypseus's Issues

Further discussion about threading and overlays

Hi there,

I am opening this to discuss the use of this as a workaround for the several seconds stalls in DL2:

SDL_CondWaitTimeout(g_yuv_surface->pending_update_cond, g_yuv_surface->mutex, 100);

Original PR:

#24

Original analysis by @lmerckx is copied here for convenience:

Some games (bega, astron, ...) freezes during some seconds and restart after a timeout message VLDP error! Timed out waiting for internal thread to accept command!:
This problems seems due to the "lock" system between methods vid_blit and vid_update_yuv_overlay.
Indeed, these methods use SDL_CondWait and SDL_CondSignal to avoid conflict when changing same texture.
But for these games, vid_update_yuv_overlay is called twice (setting vid_update_yuv_overlay to true) without any call to vid_blit.
It leads in a blocking call to vid_update_yuv_overlay, which also blocks the command handler; and avoid processing other command.
Only the timeout, after about 7 seconds, unblocks the emulator.
So, I replace SDL_CondWait by SDL_CondWaitTimeout (with a timeout of 100 ms) to solve the problem.

The blocking should not happen to start with. This seems like a workaround and not a true solution. Any ideas?

USB scoreboard addition breaks compilation

Hi there,

It seems that recent USB scoreboard addition breaks compilation, or at least should be optional somehow or manage it's dependencies:

Scanning dependencies of target scoreboard
[ 43%] Building CXX object scoreboard/CMakeFiles/scoreboard.dir/usb_scoreboard.cpp.o
[ 44%] Building CXX object scoreboard/CMakeFiles/scoreboard.dir/hw_scoreboard.cpp.o
[ 45%] Building CXX object scoreboard/CMakeFiles/scoreboard.dir/img_scoreboard.cpp.o
[ 46%] Building CXX object scoreboard/CMakeFiles/scoreboard.dir/null_scoreboard.cpp.o
In file included from /home/manuel/src/hypseus/src/scoreboard/usb_scoreboard.cpp:1:
/home/manuel/src/hypseus/src/scoreboard/usb_scoreboard.h:5:10: fatal error: libftdi1/ftdi.h: No such file or directory
    5 | #include <libftdi1/ftdi.h>
      |          ^~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [scoreboard/CMakeFiles/scoreboard.dir/build.make:76: scoreboard/CMakeFiles/scoreboard.dir/usb_scoreboard.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/Makefile2:637: scoreboard/CMakeFiles/scoreboard.dir/all] Error 2
make: *** [Makefile:106: all] Error 2

New Fork, new overlays - Hypseus Singe - Kinda went off on my own....

Hey guys,

What a tremendous effort here on getting Daphne on SDLv2. Many thanks to h0tw1r3 and vanfanel for all the work.

I forked the project due to the recent activity and have been playing with it this last week or so.

I cleaned up the Daphne and a standalone Singe (1.18) codebase a little while back (in my GitHub) so wanted to look at this project for future compatibility. Great job.

I made some commits to the fork, which are too numerous now to create a pull request, but if anyone wanted to take a look and maybe cherry pick or pass comment:

Some fixes made for:

  • DL Game Overlays implemented
  • singe and pseudo singe2 support
  • tq Subtitles
  • lair2 overlays working.
  • gpworld overlay
  • .dat file generation now displays progress
  • The second (blank) window issue
  • Now gives error to console when incorrect arguments passed
  • Fix segfault on video::vid_free_yuv_overlay call
  • Fixes for RPi on Badlands, Road Blaster and Bega's Battle
  • Also added an extra '-keymapfile' argument to specify an alternate hypinput.ini (taken from Daphne repo)

https://github.com/DirtBagXon/hypseus-singe

https://github.com/DirtBagXon/hypseus-singe/blob/master/src/3rdparty/retropie/RETROPIE.md

https://www.youtube.com/playlist?list=PLRLuhkf2c3OeRoXydn0upKyIBUXNMK13x

Done: Would love to get Singe V1 back into this, but looks like the plugin code has been stripped out for some reason. I will/might take a look at this sometime soon, just for fun.

Thank you guys.

Playback errors and stalling

At sporadic times during game play, video/audio playback stalls with log warnings or errors.
After around 10 seconds or so Video/Audio playback resumes.

Example 1 (Video/Audio stall)

2018/03/23;16:02:38.762;INFO;800;0;ldp_vldp::nonblocking_search@471;"NOTE: converting FPKS from 23976 to 29970. This may be less accurate."
2018/03/23;16:02:53.804;WARN;800;0;ldp_vldp::play@564;"play command failed!"
2018/03/23;16:02:57.205;WARN;800;0;ldp_vldp::nonblocking_search@446;"LDP-VLDP: Could not open video file spa01d1.vob.m2v"
2018/03/23;16:02:57.205;WARN;800;0;ldv1000::write@317;"Search command was not accepted!"
2018/03/23;16:02:57.378;INFO;800;0;ldp_vldp::nonblocking_search@471;"NOTE: converting FPKS from 23976 to 29970. This may be less accurate."

Example 2 (Video/Audio stall)

2018/03/23;17:34:14.236;INFO;1108;0;ldp_vldp::nonblocking_search@471;"NOTE: converting FPKS from 23976 to 29970. This may be less accurate."
2018/03/23;17:34:16.349;ERROR;1114;0;ldp_vldp_audio_callback@592;"End of audio stream detected!"
2018/03/23;17:34:29.264;WARN;1108;0;ldp_vldp::play@564;"play command failed!"
2018/03/23;17:34:30.870;WARN;1108;0;ldp_vldp::nonblocking_search@446;"LDP-VLDP: Could not open video file spa05.vob.m2v"
2018/03/23;17:34:30.870;WARN;1108;0;ldv1000::write@317;"Search command was not accepted!"
2018/03/23;17:34:31.043;INFO;1108;0;ldp_vldp::nonblocking_search@471;"NOTE: converting FPKS from 23976 to 29970. This may be less accurate."

Example 3 (Only error message)

2018/03/23;16:01:06.205;INFO;800;0;ldp_vldp::nonblocking_search@471;"NOTE: converting FPKS from >23976 to 29970. This may be less accurate."
2018/03/23;16:01:08.162;ERROR;806;0;ldp_vldp_audio_callback@592;"End of audio stream detected!"
2018/03/23;16:01:09.173;INFO;800;0;ldp_vldp::nonblocking_search@471;"NOTE: converting FPKS from 23976 to 29970. This may be less accurate."

Using latest master/commit
https://github.com/btolab/hypseus/tree/c6af13b1274bbeb3e0406c84db6b9a5b3ce0bc72

debian 9 strech

grant@debian:~/hypseus$ ./hypseus lair2 vldp -framefile roms/lair/lair.txt

Video not playing but there is sound no idea whats wrong.

2018-03-04 03:40:05.055 INFO [7317] [reset_logfile@323] Version v1.2.0-28-dirty
2018-03-04 03:40:05.056 INFO [7317] [reset_logfile@327] Command line: ./hypseus lair2 vldp -framefile roms/lair/lair.txt
2018-03-04 03:40:05.056 INFO [7317] [reset_logfile@328] CPU : GenuineIntel || Mem : 32128 megs
2018-03-04 03:40:05.075 INFO [7317] [reset_logfile@329] OS : Linux 4.9 || Video : Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon RX 470/480] (rev c7)
2018-03-04 03:40:05.075 INFO [7317] [reset_logfile@330] RGB2YUV Function: C
2018-03-04 03:40:05.075 INFO [7317] [reset_logfile@336] Line Blending Function: C
2018-03-04 03:40:05.075 INFO [7317] [reset_logfile@343] Audio Mixing Function: C
2018-03-04 03:40:05.076 DEBUG [7317] [sound::init@156] Initializing sound system ...
2018-03-04 03:40:05.081 WARN [7317] [sound::init@208] WARNING : requested 2048 samples for sound buffer, but got 1024 samples
2018-03-04 03:40:05.092 INFO [7317] [SDL_input_init@278] No joysticks detected
2018-03-04 03:40:05.092 INFO [7317] [game::load_compressed_rom@873] Loading compressed ROM image dl2_319.bin ... 65536 bytes read.
2018-03-04 03:40:06.457 INFO [7317] [ldp_vldp::read_frame_conversions@1038] Framefile parse succeeded. Video/Audio directory is: roms/lair/./
2018-03-04 03:40:06.478 INFO [7317] [printline@95] Loaded 128 bytes from /home/grant/.hypseus/ram/lair2_319.gz
2018-03-04 03:40:06.526 DEBUG [7317] [ldp::pre_play@512] Play
2018-03-04 03:40:06.526 DEBUG [7317] [main@209] Booting ROM ...
2018-03-04 03:40:06.529 DEBUG [7317] [beeper::ctrl_data@110] PC BEEPER : freq 896 requested
2018-03-04 03:40:14.618 DEBUG [7317] [beeper::ctrl_data@110] PC BEEPER : freq 500 requested
2018-03-04 03:40:15.211 DEBUG [7317] [beeper::ctrl_data@110] PC BEEPER : freq 880 requested
2018-03-04 03:40:15.211 WARN [7317] [ldp1000::write@455] Unimplemented Sony LDP command received: 0xC
2018-03-04 03:40:17.138 DEBUG [7317] [beeper::ctrl_data@110] PC BEEPER : freq 880 requested
2018-03-04 03:40:17.156 DEBUG [7317] [ldp::pre_search@194] Search to 722 received
2018-03-04 03:40:17.156 INFO [7317] [ldp_vldp::nonblocking_search@471] NOTE: converting FPKS from 29970 to 23976. This may be less accurate.
2018-03-04 03:40:20.225 WARN [7317] [ldp1000::enter@616] caller didn't wait for search to complete, so we'll ignore the search request
2018-03-04 03:40:23.303 WARN [7317] [ldp1000::enter@616] caller didn't wait for search to complete, so we'll ignore the search request
2018-03-04 03:40:26.382 DEBUG [7317] [beeper::ctrl_data@110] PC BEEPER : freq 1000 requested
2018-03-04 03:40:26.462 DEBUG [7317] [beeper::ctrl_data@110] PC BEEPER : freq 440 requested
2018-03-04 03:40:26.492 DEBUG [7317] [beeper::ctrl_data@110] PC BEEPER : freq 1000 requested
2018-03-04 03:40:26.571 DEBUG [7317] [beeper::ctrl_data@110] PC BEEPER : freq 440 requested
2018-03-04 03:40:26.601 DEBUG [7317] [beeper::ctrl_data@110] PC BEEPER : freq 1000 requested
2018-03-04 03:40:26.681 DEBUG [7317] [beeper::ctrl_data@110] PC BEEPER : freq 440 requested
2018-03-04 03:40:26.692 DEBUG [7317] [ldp::pre_pause@540] Received pause while disc was not playing, ignoring
2018-03-04 03:40:26.910 DEBUG [7317] [beeper::ctrl_data@110] PC BEEPER : freq 880 requested
2018-03-04 03:40:26.912 WARN [7317] [ldp1000::write@455] Unimplemented Sony LDP command received: 0xC
2018-03-04 03:40:28.842 DEBUG [7317] [beeper::ctrl_data@110] PC BEEPER : freq 880 requested
2018-03-04 03:40:28.858 INFO [7317] [ldp::pre_search@173] ignoring seek because we're already on that frame
2018-03-04 03:40:29.246 DEBUG [7317] [beeper::ctrl_data@110] PC BEEPER : freq 880 requested
2018-03-04 03:40:29.246 DEBUG [7317] [ldp::pre_pause@540] Received pause while disc was not playing, ignoring
2018-03-04 03:40:29.406 DEBUG [7317] [beeper::ctrl_data@110] PC BEEPER : freq 880 requested
2018-03-04 03:40:30.433 DEBUG [7317] [beeper::ctrl_data@110] PC BEEPER : freq 880 requested
2018-03-04 03:40:31.662 DEBUG [7317] [beeper::ctrl_data@110] PC BEEPER : freq 880 requested
2018-03-04 03:40:32.727 DEBUG [7317] [beeper::ctrl_data@110] PC BEEPER : freq 880 requested
2018-03-04 03:40:34.337 DEBUG [7317] [beeper::ctrl_data@110] PC BEEPER : freq 1000 requested
2018-03-04 03:40:34.429 DEBUG [7317] [beeper::ctrl_data@110] PC BEEPER : freq 440 requested
2018-03-04 03:40:34.458 DEBUG [7317] [beeper::ctrl_data@110] PC BEEPER : freq 1000 requested
2018-03-04 03:40:34.539 DEBUG [7317] [beeper::ctrl_data@110] PC BEEPER : freq 440 requested
2018-03-04 03:40:34.568 DEBUG [7317] [beeper::ctrl_data@110] PC BEEPER : freq 1000 requested
2018-03-04 03:40:34.648 DEBUG [7317] [beeper::ctrl_data@110] PC BEEPER : freq 440 requested
2018-03-04 03:40:34.785 DEBUG [7317] [ldp::pre_search@194] Search to 721 received
2018-03-04 03:40:34.785 INFO [7317] [ldp_vldp::nonblocking_search@471] NOTE: converting FPKS from 29970 to 23976. This may be less accurate.
VLDP error! Timed out waiting for internal thread to accept command!
2018-03-04 03:40:42.284 WARN [7317] [ldp_vldp::nonblocking_search@486] Search failed in video file
VLDP error! Timed out waiting for internal thread to accept command!
VLDP ERROR!!!! Timed out with getting our expected response!
2018-03-04 03:40:57.286 WARN [7317] [ldp_vldp::play@564] play command failed!
2018-03-04 03:40:57.286 DEBUG [7317] [ldp::pre_play@512] Play
2018-03-04 03:40:57.287 DEBUG [7317] [ldp::pre_play@508] disc is already playing, play command ignored
2018-03-04 03:40:57.287 DEBUG [7317] [ldp::pre_play@512] Play
2018-03-04 03:40:57.379 DEBUG [7323] [ldp_vldp_audio_callback@636] played 2662400, expected 2909012, timer=0, curtime=16491
2018-03-04 03:40:57.379 DEBUG [7323] [ldp_vldp_audio_callback@636] played 2666496, expected 2909012, timer=0, curtime=16491
2018-03-04 03:40:57.379 DEBUG [7323] [ldp_vldp_audio_callback@636] played 2670592, expected 2909012, timer=0, curtime=16491
2018-03-04 03:40:57.379 DEBUG [7323] [ldp_vldp_audio_callback@636] played 2674688, expected 2909012, timer=0, curtime=16491
2018-03-04 03:40:57.379 DEBUG [7323] [ldp_vldp_audio_callback@636] played 2678784, expected 2909012, timer=0, curtime=16491
2018-03-04 03:40:57.379 DEBUG [7323] [ldp_vldp_audio_callback@636] played 2682880, expected 2909012, timer=0, curtime=16491
2018-03-04 03:40:57.379 DEBUG [7323] [ldp_vldp_audio_callback@636] played 2686976, expected 2909012, timer=0, curtime=16491
2018-03-04 03:40:57.380 DEBUG [7323] [ldp_vldp_audio_callback@636] played 2691072, expected 2909012, timer=0, curtime=16491
2018-03-04 03:40:57.380 DEBUG [7323] [ldp_vldp_audio_callback@636] played 2695168, expected 2909012, timer=0, curtime=16491
2018-03-04 03:40:57.380 DEBUG [7323] [ldp_vldp_audio_callback@636] played 2699264, expected 2909012, timer=0, curtime=16491
2018-03-04 03:40:57.399 DEBUG [7323] [ldp_vldp_audio_callback@636] played 2703360, expected 3526941, timer=0, curtime=19994
2018-03-04 03:40:57.399 DEBUG [7323] [ldp_vldp_audio_callback@636] played 2707456, expected 3526941, timer=0, curtime=19994
2018-03-04 03:40:57.399 DEBUG [7323] [ldp_vldp_audio_callback@636] played 2711552, expected 3526941, timer=0, curtime=19994
2018-03-04 03:40:57.399 DEBUG [7323] [ldp_vldp_audio_callback@636] played 2715648, expected 3526941, timer=0, curtime=19994
2018-03-04 03:40:57.399 DEBUG [7323] [ldp_vldp_audio_callback@636] played 2719744, expected 3526941, timer=0, curtime=19994
2018-03-04 03:40:57.399 DEBUG [7323] [ldp_vldp_audio_callback@636] played 2723840, expected 3526941, timer=0, curtime=19994
2018-03-04 03:40:57.400 DEBUG [7323] [ldp_vldp_audio_callback@636] played 2727936, expected 3526941, timer=0, curtime=19994
2018-03-04 03:40:57.400 DEBUG [7323] [ldp_vldp_audio_callback@636] played 2732032, expected 3526941, timer=0, curtime=19994
2018-03-04 03:40:57.400 DEBUG [7323] [ldp_vldp_audio_callback@636] played 2736128, expected 3526941, timer=0, curtime=19994
2018-03-04 03:40:57.400 DEBUG [7323] [ldp_vldp_audio_callback@636] played 2740224, expected 3526941, timer=0, curtime=19994
2018-03-04 03:40:57.429 DEBUG [7323] [ldp_vldp_audio_callback@636] played 2744320, expected 3926487, timer=0, curtime=22259
2018-03-04 03:40:57.429 DEBUG [7323] [ldp_vldp_audio_callback@636] played 2748416, expected 3926487, timer=0, curtime=22259
2018-03-04 03:40:57.429 DEBUG [7323] [ldp_vldp_audio_callback@636] played 2752512, expected 3926487, timer=0, curtime=22259
2018-03-04 03:40:57.429 DEBUG [7323] [ldp_vldp_audio_callback@636] played 2756608, expected 3926664, timer=0, curtime=22260
2018-03-04 03:40:57.430 DEBUG [7323] [ldp_vldp_audio_callback@636] played 2760704, expected 3926664, timer=0, curtime=22260
2018-03-04 03:40:57.430 DEBUG [7323] [ldp_vldp_audio_callback@636] played 2764800, expected 3926664, timer=0, curtime=22260
2018-03-04 03:40:57.430 DEBUG [7323] [ldp_vldp_audio_callback@636] played 2768896, expected 3926664, timer=0, curtime=22260
2018-03-04 03:40:57.430 DEBUG [7323] [ldp_vldp_audio_callback@636] played 2772992, expected 3926664, timer=0, curtime=22260
2018-03-04 03:40:57.430 DEBUG [7323] [ldp_vldp_audio_callback@636] played 2777088, expected 3926664, timer=0, curtime=22260

Black screen on Raspberry Pi

Hi,

First of all, thanks for your work on this project. It was needed, really. Building Daphne has became a nightmare with all these outdated dependencies, and building this was very easy and a real pleasure ๐Ÿ‘
The greatest part is SDL2 support, which enables accelerated stretching/scaling on Raspberry Pi and no more dependencies on bit-rotten SDL1 which causes a lot of problems in this platform.

I have Hypseus working great on my X86_64 desktop. Except for the lack of aspect ratio correction and overlays, games like Dragon's Lair really shine with this lightweight program.

However, on the Pi, all I get is a black screen. I have SDL 2.0.4 (latest stable sources) built there and working with other projects. On the Pi, SDL 2.0.4 uses GLES2 for accelerated rendering (it doesn't really matter I think, because SDL2 abstracts all this and you only have to care about creating the window and the renderer).
Sounds are played, I can hear the narrator on attract mode, but all I can see is the SDL2 cursor and a black screen.
These are the messages on the emulation run:

2016-05-24 22:52:23.622 INFO [759] [reset_logfile@318] Version v1.2.0
2016-05-24 22:52:23.622 INFO [759] [reset_logfile@322] Command line: ./hypseus lair vldp -framefile mpeg/lair/lair.txt -fastboot
2016-05-24 22:52:23.622 INFO [759] [reset_logfile@323] CPU : UnknownCPU || Mem : 896 megs
2016-05-24 22:52:23.623 INFO [759] [reset_logfile@324] OS : Linux 4.4 || Video : Unknown video
2016-05-24 22:52:23.623 INFO [759] [reset_logfile@325] RGB2YUV Function: C
2016-05-24 22:52:23.623 INFO [759] [reset_logfile@331] Line Blending Function: C
2016-05-24 22:52:23.623 INFO [759] [reset_logfile@338] Audio Mixing Function: C
2016-05-24 22:52:23.717 INFO [759] [video::init_display@161] Set 640x480 at 24 bpp, flags: 0
2016-05-24 22:52:23.758 INFO [759] [SDL_input_init@278] No joysticks detected
2016-05-24 22:52:23.759 INFO [759] [game::load_rom@830] Loading ./roms/lair/dl_f2_u1.bin ... 8192 bytes read into memory
2016-05-24 22:52:23.759 INFO [759] [game::load_rom@830] Loading ./roms/lair/dl_f2_u2.bin ... 8192 bytes read into memory
2016-05-24 22:52:23.759 INFO [759] [game::load_rom@830] Loading ./roms/lair/dl_f2_u3.bin ... 8192 bytes read into memory
2016-05-24 22:52:23.759 INFO [759] [game::load_rom@830] Loading ./roms/lair/dl_f2_u4.bin ... 8192 bytes read into memory
2016-05-24 22:52:24.760 INFO [759] [ldp_vldp::read_frame_conversions@1039] Framefile parse succeeded. Video/Audio directory is: mpeg/lair/./
2016-05-24 22:52:24.769 INFO [765] [report_mpeg_dimensions_callback@1653] Using opengles2 rendering
2016-05-24 22:52:28.475 WARN [759] [ldv1000::pre_display_disable@451] Display disable received (unsupported)
2016-05-24 22:53:11.785 WARN [759] [ldv1000::pre_display_disable@451] Display disable received (unsupported)
2016-05-24 22:53:18.175 WARN [759] [ldv1000::pre_display_disable@451] Display disable received (unsupported)
2016-05-24 22:53:24.699 WARN [759] [ldv1000::pre_display_disable@451] Display disable received (unsupported)
2016-05-24 22:54:08.025 WARN [759] [ldv1000::pre_display_disable@451] Display disable received (unsupported)

I can't see anything wrong here, to be honest, and SDL2 init functions seem to be working fine.
Also, the SDL2 code I have seen and written doesn't usually use SDL_RENDERER_TARGETTEXTURE flag for the renderer, usually I only pass SDL_RENDERER_ACCELERATED and that's it, but I guess this uses a different rendering method... I don't know, just a clue. Any ideas?

Tilt key reports Error/Bug in log

No doubt Tilt functionality is dependent on title.
If the Tilt key is pressed the following log entry is reported.

2018/03/22;22:20:01.563;WARN;28276;0;lair::input_enable@988;"Error, bug in Dragon's Lair's input enable"
2018/03/22;22:20:01.767;WARN;28276;0;lair::input_disable@1036;"Error, bug in Dragon's Lair's move disable"
2018/03/22;22:20:03.794;WARN;28276;0;lair::input_enable@988;"Error, bug in Dragon's Lair's input enable"
2018/03/22;22:20:03.947;WARN;28276;0;lair::input_disable@1036;"Error, bug in Dragon's Lair's move disable"

Not sure if it's supposed to respond to Tilt like this or if there is a bug in Hypseus.

"Sound" folder is missing

Hello,

Just to say the "Sound" folder (will all the .wav files) is missing from the master branch (we can see it in the sdl2 branch).

Thanks,

Compile Pi4 Fails

As per read me both git clone and tar source fail with

Scanning dependencies of target video [ 8%] Building CXX object video/CMakeFiles/video.dir/video.cpp.o In file included from /home/pi/code/hypseus-1.3.0/src/video/video.h:29, from /home/pi/code/hypseus-1.3.0/src/video/video.cpp:36: /home/pi/code/hypseus-1.3.0/src/video/SDL_FontCache.h:37:10: fatal error: SDL_ttf.h: No such file or directory #include "SDL_ttf.h" ^~~~~~~~~~~ compilation terminated. make[2]: *** [video/CMakeFiles/video.dir/build.make:63: video/CMakeFiles/video.dir/video.cpp.o] Error 1 make[1]: *** [CMakeFiles/Makefile2:719: video/CMakeFiles/video.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs....

Best I got was at 26% by setting
CFLAGS="-O3 -march=armv8-a+crc+simd -mtune=cortex-a72 -mfpu=neon-fp-armv8 -mfloat-abi=hard" CXXFLAGS="-O3 -march=armv8-a+crc+simd -mtune=cortex-a72 -mfpu=neon-fp-armv8 -mfloat-abi=hard"

[ 26%] Building CXX object video/CMakeFiles/video.dir/video.cpp.o In file included from /home/pi/code/hypseus-1.3.0/src/video/video.h:29, from /home/pi/code/hypseus-1.3.0/src/video/video.cpp:36: /home/pi/code/hypseus-1.3.0/src/video/SDL_FontCache.h:37:10: fatal error: SDL_ttf.h: No such file or directory #include "SDL_ttf.h" ^~~~~~~~~~~ compilation terminated. make[2]: *** [video/CMakeFiles/video.dir/build.make:63: video/CMakeFiles/video.dir/video.cpp.o] Error 1 make[1]: *** [CMakeFiles/Makefile2:719: video/CMakeFiles/video.dir/all] Error 2 make: *** [Makefile:106: all] Error 2

Any ideas?

Fullscreen mode looses focus

When running in fullscreen mode without a window manager, Hypseus looses window focus and is unable to accept input.

Example:
Debian 10 (Buster) amd64 using X11 (sdl2 2.0.8)
startx --> initiates AdvanceMenu (Not a window manager)
AdvanceMenu --> Initiates Hypseus (In fullscreen mode)

Running in window mode keeps input (Temporary hack),
But the aim is to be able to run in SDL2 Fullscreen mode.

Build failure on Raspberry Pi

Having a difficult time getting Hypseus to build on a Raspberry Pi 3 Model B under gcc-4.9.2. cmake apparently runs fine, but make gives the following build failure:

pi@retropie:~/build/hypseus/build $ make
Scanning dependencies of target libmpeg2
[ 1%] Creating directories for 'libmpeg2'
[ 2%] Performing download step (download, verify and extract) for 'libmpeg2'
-- downloading...
src='https://github.com/btolab/libmpeg2/archive/master.zip'
dst='/home/pi/build/hypseus/build/3rdparty/src/master.zip'
timeout='none'

-- [download 100% complete]
-- downloading... done
-- verifying file...
file='/home/pi/build/hypseus/build/3rdparty/src/master.zip'
-- verifying file... warning: did not verify file - no URL_HASH specified?
-- extracting...
src='/home/pi/build/hypseus/build/3rdparty/src/master.zip'
dst='/home/pi/build/hypseus/build/3rdparty/src/libmpeg2'
-- extracting... [tar xfz]
-- extracting... [analysis]
-- extracting... [rename]
-- extracting... [clean up]
-- extracting... done
[ 3%] No patch step for 'libmpeg2'
[ 4%] No update step for 'libmpeg2'
[ 5%] Performing configure step for 'libmpeg2'
configure.ac:131: error: possibly undefined macro: AC_LIBTOOL_WIN32_DLL
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
configure.ac:132: error: possibly undefined macro: AC_PROG_LIBTOOL
autoreconf: /usr/bin/autoconf failed with exit status: 1
CMakeFiles/libmpeg2.dir/build.make:103: recipe for target '3rdparty/src/libmpeg2-stamp/libmpeg2-configure' failed
make[2]: *** [3rdparty/src/libmpeg2-stamp/libmpeg2-configure] Error 1
CMakeFiles/Makefile2:103: recipe for target 'CMakeFiles/libmpeg2.dir/all' failed
make[1]: *** [CMakeFiles/libmpeg2.dir/all] Error 2
Makefile:96: recipe for target 'all' failed
make: *** [all] Error 2

Any ideas appreciated; I'm not sure why I'm seeing this.

No video

I successfully compiled Hypseus and got it launching Dragon's Lair using my run.sh script (slightly modified) from https://github.com/DavidGriffith/daphne. I get sound and the controls seem work, but I'm getting a plain black (white after shifting virtual desktops) screen/window for the video.

This looks really nice. If I can get past these nits, I'll drop my Daphne fork and work on this instead.

hotkeys or settings for sound level

hello,

I use the batocera linux distribution, that in turn uses hypseus for Daphne games (their wiki says libretro/daphne, but alt+enter tells a different story ;) ). It runs quite well, but the sound level of the laserdiscs is not always on par with the system. Dragon's Lair for example is very quiet. This means the systems beep will be annoyingly loud if you turn the sound up high enough to hear the soundtrack and dialogues well. Does hypheus offer a solution for this? Either in the form of hotkeys to turn sound levels up and down (beeps would have to be handled separately from audio tracks, though), or in the form of per-game settings? There's this .commands file in the .daphne folder, could we use that?

Kind regards

The kind folks at batocera have reacted to my input and updated their wiki ;)
https://wiki.batocera.org/arcade

Compilation error with buildroot

I've start to make a buildroot package for hypseus for a raspberry target.
I get this error:

/usr/bin/make -j9 -C /home/fredo/projets/rpi/output/build/hypseus-c6af13b/src
[ 6%] Built target libmpeg2
[ 8%] Built target cpu_x86
[ 10%] Built target plog
[ 12%] Built target timer
[ 13%] Linking CXX shared library libvldp.so
[ 26%] Built target ldp-in
[ 26%] Built target video
../3rdparty/lib/libmpeg2.a: error adding symbols: File format not recognized
collect2: error: ld returned 1 exit status
vldp/CMakeFiles/vldp.dir/build.make:147: recipe for target 'vldp/libvldp.so' failed
make[5]: *** [vldp/libvldp.so] Error 1
CMakeFiles/Makefile2:841: recipe for target 'vldp/CMakeFiles/vldp.dir/all' failed
make[4]: *** [vldp/CMakeFiles/vldp.dir/all] Error 2
Makefile:105: recipe for target 'all' failed
make[3]: *** [all] Error 2
package/pkg-generic.mk:234: recipe for target '/home/fredo/projets/rpi/output/build/hypseus-c6af13b/.stamp_built' failed
make[2]: *** [/home/fredo/projets/rpi/output/build/hypseus-c6af13b/.stamp_built] Error 2
Makefile:16: recipe for target '_all' failed
make[1]: *** [_all] Error 2
Makefile:67: recipe for target 'build' failed
make: *** [build] Error 2

I am not familiar with cmake (I usually use autotool), is there somes conf_opts to pass to cmake?

I use gcc 4.9.4 for arm with cmake 3.7.2

PS:
I've made two patchs before, to prevent compile issues :
The first one is :
--- hypseus-c6af13b/src/io/CMakeLists.txt 2017-11-02 17:41:39.000000000 +0100
+++ hypseus-static/src/io/CMakeLists.txt 2018-02-15 14:42:47.995940928 +0100
@@ -16,7 +16,7 @@ set( LIB_HEADERS
find_package(ZLIB REQUIRED)
include_directories( ${ZLIB_INCLUDE_DIRS} )

-add_library( io ${LIB_SOURCES} ${LIB_HEADERS} )
+add_library( io STATIC ${LIB_SOURCES} ${LIB_HEADERS} )
target_link_libraries( io ldp-out game plog ${ZLIB_LIBRARIES} )
if( WIN32 )
target_link_libraries( io ws2_32 )
--- hypseus-c6af13b/src/game/CMakeLists.txt 2017-11-02 17:41:39.000000000 +0100
+++ hypseus-static/src/game/CMakeLists.txt 2018-02-15 14:43:20.307942608 +0100
@@ -69,7 +69,7 @@ endif( BUILD_SINGE )

ignore gcc: warning: promoted ~unsigned is always non-zero [-Wsign-compare] (do_nmi coin check)

set_source_files_properties( laireuro.cpp PROPERTIES COMPILE_FLAGS -Wno-sign-compare)

-add_library( game ${LIB_SOURCES} ${LIB_HEADERS} )
+add_library( game STATIC ${LIB_SOURCES} ${LIB_HEADERS} )
target_link_libraries( game sound scoreboard video io plog )
if( BUILD_SINGE )
target_link_libraries( game singeproxy )
--- hypseus-c6af13b/src/scoreboard/CMakeLists.txt 2017-11-02 17:41:39.000000000 +0100
+++ hypseus-static/src/scoreboard/CMakeLists.txt 2018-02-15 14:43:35.459943395 +0100
@@ -18,5 +18,5 @@ set( LIB_HEADERS
scoreboard_interface.h
)

-add_library( scoreboard ${LIB_SOURCES} ${LIB_HEADERS} )
+add_library( scoreboard STATIC ${LIB_SOURCES} ${LIB_HEADERS} )
target_link_libraries( scoreboard io )
--- hypseus-c6af13b/src/ldp-out/CMakeLists.txt 2017-11-02 17:41:39.000000000 +0100
+++ hypseus-static/src/ldp-out/CMakeLists.txt 2018-02-15 14:42:26.095939790 +0100
@@ -15,5 +15,5 @@ set( LIB_HEADERS
PKG_SEARCH_MODULE(VORBISFILE REQUIRED vorbisfile)
include_directories( ${VORBISFILE_INCLUDE_DIRS} )

-add_library( ldp-out ${LIB_SOURCES} ${LIB_HEADERS} )
+add_library( ldp-out STATIC ${LIB_SOURCES} ${LIB_HEADERS} )
target_link_libraries( ldp-out vldp game ${VORBISFILE_LIBRARIES} ${SDL2_LIBRARY} )

the second is :
--- hypseus-c6af13b/src/video/video.cpp 2017-11-02 17:41:39.000000000 +0100
+++ hypseus-unused/src/video/video.cpp 2018-02-16 10:16:39.190208578 +0100
@@ -447,7 +446,7 @@ void draw_overlay_leds(unsigned int valu
// Draw LDP1450 overlay characters to the screen (added by Brad O.)
void draw_singleline_LDP1450(char *LDP1450_String, int start_x, int y, SDL_Surface *overlay)
{

  • SDL_Rect src, dest;
  • SDL_Rect dest;

    int i = 0;
    int value = 0;
    @@ -459,10 +458,6 @@ void draw_singleline_LDP1450(char *LDP14
    dest.w = OVERLAY_LDP1450_WIDTH;
    dest.h = OVERLAY_LDP1450_HEIGHT;

  • src.y = 0;

  • src.w = OVERLAY_LDP1450_WIDTH;

  • src.h = OVERLAY_LDP1450_WIDTH;

  • LDP1450_strlen = strlen(LDP1450_String);

    if (!LDP1450_strlen) // if a blank line is sent, we must blank out the

Segmentation fault - Linux 32 bit

Standard Hypseus compiles without any issues.
Segmentation fault occurs whenever video tries to display.

./testvldp /home/arcade/zframefile/lair/dl-slates.m2v
Using opengl rendering
Segmentation fault

See attached logs for more information
When running with noldp option, Game appears to boot (Boot beeps, Credit sounds)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.