All Projects → DirtBagXon → hypseus-singe

DirtBagXon / hypseus-singe

Licence: GPL-3.0 license
Hypseus is a SDL2 version of Daphne and Singe. Laserdisc game emulation.

Programming Languages

C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language
CMake
9771 projects

Projects that are alternatives of or similar to hypseus-singe

Cosmo Engine
A new game engine to play the MS-DOS game "Cosmo's Cosmic Adventure" on modern systems
Stars: ✭ 38 (-55.81%)
Mutual labels:  sdl2, retro
Haskanoid
A breakout game in Haskell using SDL and FRP, with Wiimote and Kinect support.
Stars: ✭ 242 (+181.4%)
Mutual labels:  sdl2, macosx
gunconf
Configuration utility for Aimtrak light gun
Stars: ✭ 16 (-81.4%)
Mutual labels:  retropie, daphne
es-theme-Super-Retroboy
Super Retroboy Theme for the RetroFlag GPi Case and Small Screens 4:3 Aspect
Stars: ✭ 45 (-47.67%)
Mutual labels:  retro, retropie
Doomretro
The classic, refined DOOM source port. For Windows PC.
Stars: ✭ 349 (+305.81%)
Mutual labels:  sdl2, retro
Anese
Another NES Emulator - written for fun & learning - first implementation of wideNES
Stars: ✭ 323 (+275.58%)
Mutual labels:  sdl2, retro
ControlBlockService2
This is the driver for the ControlBlock re.v 2.X, a power switch and input/output/gameapd gadget for the Raspberry Pi
Stars: ✭ 18 (-79.07%)
Mutual labels:  retro, retropie
Cdogs Sdl
Classic overhead run-and-gun game
Stars: ✭ 422 (+390.7%)
Mutual labels:  sdl2, retro
Chocolate Doom
Chocolate Doom is a Doom source port that is minimalist and historically accurate.
Stars: ✭ 1,052 (+1123.26%)
Mutual labels:  sdl2, retro
Ck2dll
Crusader Kings II double byte patch /production : 3.3.4 /dev : 3.3.4
Stars: ✭ 186 (+116.28%)
Mutual labels:  sdl2
Tmxlite
lightweight C++14 parser for Tiled tmx files
Stars: ✭ 248 (+188.37%)
Mutual labels:  sdl2
Gwork
Skinnable GUI with useful widget collection. Fork of GWEN.
Stars: ✭ 179 (+108.14%)
Mutual labels:  sdl2
Jitboy
A Game Boy emulator with dynamic recompilation (JIT)
Stars: ✭ 190 (+120.93%)
Mutual labels:  sdl2
Dome
A lightweight game development environment where games can be written in Wren
Stars: ✭ 251 (+191.86%)
Mutual labels:  sdl2
Flextgl
OpenGL and Vulkan header and loader generator.
Stars: ✭ 180 (+109.3%)
Mutual labels:  sdl2
FreeOberon
Cross-platform IDE for development in Oberon programming language made in the classical FreePascal-like pseudo-graphic style.
Stars: ✭ 102 (+18.6%)
Mutual labels:  retro
Civone
An open source implementation of Sid Meier's Civilization.
Stars: ✭ 176 (+104.65%)
Mutual labels:  sdl2
sublime
Repository for the Tandem Sublime Plugin
Stars: ✭ 22 (-74.42%)
Mutual labels:  macosx
Nothing
A simple platformer about nothing
Stars: ✭ 249 (+189.53%)
Mutual labels:  sdl2
Dino Rush
🌋 Endless runner game
Stars: ✭ 173 (+101.16%)
Mutual labels:  sdl2

Hypseus Singe

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
  • Integrated bezel support
  • Daphne VLDP 32bit upgrade
  • Daphne and Singe 4k 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

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 -fullscreen_window -scorepanel

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)

Hypseus

singe

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

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.

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        ]
-nolinear_scale            [ Disable bilinear 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        ]
-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_stretch <1-24>   [ Overlay stretch implemented for (cliff) 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]            ]
-set_overlay <size>        [ Enforce overlay size (full, half, oversize)   ]
                           [ (full): Set to full video resolution [Singe2] ]
                           [ (half): Set to half video resolution [Singe2] ]
                           [ (oversize): Use with HD gungame video sources ]
-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

GNU General Public License version 3

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].