Hypseus Singe
Hypseus is a fork of Matt Ownby's Daphne.
A program to play laserdisc arcade games on a PC, Mac or Raspberry Pi.
This version includes Singe support for Fan Made and American Laser Games.
Features:
- SDL2 support
- Updated MPEG2 decoder
- Daphne VLDP 32bit upgrade
- Integrated (active) bezel support
- Daphne and Singe 4k 4Gb+ M2V support
- Singe libretro emulation path integration
- Singe Joystick, Lightgun EV_ABS [mouse] support
- Singe 2 full 32bit overlay support (details below)
- Sinden support in Singe games
- For Singe games list see here.
- Daphne alternate overlay choices
- SDL_GameController (hotplug) support: config
- Advanced configuration and multi-joystick support: config
- 'lair/ace' hardware and software original scoreboards.
- 64bit Windows and MacOS X Ports
- Coded exclusively in vim using a Sun Microsystems Type 5c keyboard.
Windows
Windows files and documentation can be found here
Compile
Minimum software requirements: gcc, cmake, autotools, zlib, SDL2, libtool, vorbis and ogg.
MacOS X
Use homebrew to install the following packages:
brew install cmake
brew install autoconf
brew install automake
brew install pkg-config
brew install sdl2
brew install sdl2_ttf
brew install sdl2_image
brew install libtool
brew install libvorbis
brew install libogg
Raspberry Pi
For Raspberry Pi clone the RetroPie
branch via:
git clone --single-branch --branch RetroPie https://github.com/DirtBagXon/hypseus-singe.git
Further RetroPie and Raspberry Pi information can be found here
Compilation with CMake
Build:
mkdir build
cd build
cmake ../src
make
Install and Run
Ensure you have data in the following daphne
HOME folders:
pics, fonts, ram, roms, sound, singe, (vldp and vldp_dl)
Run hypseus
with daphne
arguments on the command line: Also refer to additional arguments below
hypseus lair vldp -framefile vldp_dl/lair/lair.txt -scorebezel
hypseus singe vldp -framefile singe/timegal/timegal.txt -script singe/timegal/timegal.singe
In Windows you are able to create .bat
files with arguments for specific games.
Example .bat
files are provided within the Windows zip file.
Retro gaming systems will require adoption within the relevant emulation scripts.
The singe -retropath
argument can ease integration into libretro style systems. See RetroPie as an example.
bash
scripts are provided for systems that support this shell.
Build Hypseus home and install bash scripts:
mkdir -p ~/.daphne/roms ~/.daphne/ram ~/.daphne/vldp
mkdir -p ~/.daphne/vldp_dl ~/.daphne/singe
cp doc/hypinput.ini doc/flightkey.ini ~/.daphne
cp doc/hypinput_gamepad.ini ~/.daphne
cp -R pics sound fonts ~/.daphne
sudo cp build/hypseus /usr/local/bin/hypseus.bin
sudo cp scripts/run.sh /usr/local/bin/hypseus
sudo cp scripts/singe.sh /usr/local/bin/singe
hypseus
singe
Configuration
Configuration of keycodes and joysticks should be made within hypinput.ini
By default SDL2 Keycodes and the Joystick API configuration options will be used.
SDL GameController API configuration can now be enabled for supported controllers.
Enable SDL_GameController using -gamepad
. Example config: hypinput.ini
Update the Controllers db by placing gamecontrollerdb.txt
in the Hypseus home folder.
Use the hypjsch utilities to help with advanced scancode configurations.
Refer to keylist.txt for SDL2 keycode values.
Screenshots
(Click images for YouTube playlist)
Altering Hypseus or Singe ROM locations in bash scripts
Edit run.sh and singe.sh, to reflect the location of your ROM folders:
HYPSEUS_SHARE=~/.daphne
Note: The default Hypseus home directory, created when run without -homedir
:
~/.hypseus
Bezels
Bezel arguments are documented in: bezels.txt
Hardware USB Scoreboard
Example arguments: -usbscoreboard COM 4 19200
Full details of the USB scoreboard here.
Software Scoreboard
Enable the software external scoreboard panel in lair/ace: -scorepanel
.
Use KEY_TILT
to switch displays when using multiple screens.
A bezel based alternate is also available via: -scorebezel
The scorepanel, or bezel, can be positioned using -scorepanel_position x y
- Window Managers may influence placement of the panel, scorebezel is not under their influence. The -scorebezel_alpha
argument is a transparency option for the bezel based scoreboard.
Singe
For Singe, provide the following arguments to hypseus:
hypseus singe vldp -framefile ~/.daphne/singe/timegal/timegal.txt -script ~/.daphne/singe/timegal/timegal.singe -homedir ~/.daphne/ -datadir ~/.daphne/
Check for Singe anomalies and replacement files here.
Singe 2
Hypseus Singe has support for Singe 2 games, including full 32bit overlays.
For current details see: Hypseus Singe Data
Lightguns
Singe supports Sinden and DolphinBar based lightguns with the -manymouse
argument.
This argument enables absolute (EV_ABS
) mouse input event codes.
Note: -sinden
automatically enables -manymouse
Singe joystick [mouse] support
Singe now automatically interprets joystick axis change as mouse movement (Gun Games).
Adjust sensitivity via -js_range <1-20>
in Singe arguments, or disable with -nojoymouse
Configure joystick controls in hypinput.ini or via GameController
Extended arguments and keys
The following additional, and reimplemented, arguments have been added to Hypseus Singe:
-bezel <lair.png> [ Specify a png bezel in 'bezels' sub-folder ]
-blank_blue [ VLDP blank using YUV#1DEB6B ]
-blank_searches [ VLDP blanking [adjust: -min_seek_delay] ]
-blank_skips [ VLDP blanking [adjust: -min_seek_delay] ]
-force_aspect_ratio [ Force 4:3 aspect ratio ]
-gamepad [ Enable SDL_GameController configuration ]
-grabmouse [ Capture mouse in SDL window ]
-ignore_aspect_ratio [ Ignore MPEG aspect ratio header [01B3] ]
-keymapfile <flight.ini> [ Specify an alternate hypinput.ini file ]
-linear_scale [ Enable linear filtering when scaling ]
-novsync [ Disable VSYNC presentation on Renderer [crt] ]
-original_overlay [ Enable daphne style overlays (lair,ace,lair2) ]
-scalefactor <50-100> [ Scale video display area [50-100]% ]
-scanlines [ Simulate scanlines [adjust: -scanline_shunt] ]
-scanline_alpha <1-255> [ Adjust scanline alpha blending ]
-scanline_shunt <2-10> [ Shunt scanline spacing [adjust: -x -y] ]
-scorebezel [ Bezel layer software scoreboard ]
-scorepanel [ Enable software scoreboard in lair/ace/tq ]
-scorepanel_position <x y> [ Adjust position of software_scorepanel ]
-shiftx <-100 to 100> [ Shift x-axis on video window [%] ]
-shifty <-100 to 100> [ Shift y-axis on video window [%] ]
-tiphat [ Invert joystick SDL_HAT_UP and SDL_HAT_DOWN ]
-usbscoreboard <args> [ Enable USB serial support for scoreboard: ]
[ Arguments: (i)mplementation, (p)ort, (b)aud ]
-vertical_screen [ Reorient calculations in logical fullscreen ]
-vertical_stretch <1-24> [ Overlay stretch (cliff/gtg only) ]
-8bit_overlay [ Restore original 8bit Singe overlays ]
-blend_sprites [ Restore BLENDMODE outline on Singe sprites ]
-bootsilent [ Mute sound during initVLDP() - if possible ]
-js_range <1-20> [ Adjust Singe joystick sensitivity: [def:5] ]
-manymouse [ Enable ABS mouse input [lightguns] [gungames] ]
-nocrosshair [ Request game does not display crosshairs ]
-retropath [ Singe data path rewrites [.daphne] ]
-sinden <1-10> <color> [ Enable software border for lightguns ]
[ Color: (w)hite, (r)ed, (g)reen, (b)lue or (x) ]
Alt-Enter [ Toggle fullscreen ]
Alt-Backspace [ Toggle scanlines ]
[KEY_BUTTON3] [ Toggle scoreboard display in lair/ace ]
[KEY_COIN1]=|[KEY_START1] [ Joystick hotkey combination for [KEY_QUIT] ]
[KEY_TILT] [ Switch scorepanel display screen lair/ace/tq ]
Enforce SDL Window context when Renderer auto-detection fails (no further extensions enabled):
-opengl [ Enable OpenGL SDL Window context ]
-vulkan [ Enable Vulkan SDL Window instance ]
Switch SDL_TEXTUREACCESS
*
-texturestream [ Enable SDL_TEXTUREACCESS_STREAMING ]
-texturetarget [ Enable SDL_TEXTUREACCESS_TARGET (Default) ]
* This can aid SBC's with SDL2 => 2.0.16
Support
This software intended for educational purposes only. Please submit issues or pull requests directly to the project.
DO NOT submit issues or request support from the official Daphne forums!
About
Open development by the original author, Matt Ownby, ceased years ago.
Singe was created by Scott Duensing as a plugin to Daphne to allow the playing of American Laser Games.
This repository was created to expand the Hypseus
project started
by Jeffrey Clark. Many overlays were unimplemented in the original
repository. Singe had also been removed.
The name of this application was changed to Hypseus (sibling to Daphne) so the original authors of Daphne would not be burdened with requests for support.
A massive thanks goes out to Matt Ownby, Scott Duensing, Jeffrey Clark, Manuel Alfayate, David Griffith and the many other developers who made their work available for me to build upon. Without them this project would not be possible.
License
Hypseus Singe, Being Retro Orientated This Humble Emulator Regenerates
Copyright (C) 2021-2023 DirtBagXon
Hypseus, Multiple Arcade Laserdisc Emulator
Copyright (C) 2016 Jeffrey Clark
Daphne, the First Ever Multiple Arcade Laserdisc Emulator
Copyright (C) 1999-2013 Matt Ownby
This program is free software: you can redistribute it and/or modify
it under the terms of the [GNU General Public License] as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
[GNU General Public License] for more details.
Trademark
The "Hypseus Singe" mark is used to uniquely identify this project as an Arcade Laserdisc Emulator. Any direct or indirect commercial use of the mark "Hypseus" is strictly prohibited without express permission.