Hypseus

Émulateur v2.11.4

Hypseus est un émulateur spécialisé dans les bornes d’arcade utilisant des disques LaserDisc, dérivé du projet Daphne. Il repose sur la bibliothèque SDL3 pour une compatibilité étendue et intègre des fonctionnalités avancées comme le support des bezel (cadres d’écran), des jeux LUA via Singe, et une gestion améliorée des périphériques (manettes, scoreboards).

Sur macOS, les builds récents sont optimisés pour Apple Silicon (ARM), tandis que des versions Intel restent disponibles pour les configurations plus anciennes. L’émulateur supporte les configurations matérielles originales (comme les scoreboards lair/ace) et propose une configuration flexible via des fichiers INI ou des scripts shell. La compilation nécessite des dépendances standard (SDL3, libvorbis, etc.), accessibles via Homebrew.

Dernière mise à jour :

Plateformes

Arcade

Architecture

Mac OS X - macOS Mac OS X - macOS Intel x86 Intel x86 Apple Silicon Apple Silicon 64 bits 64 bits SDL Library SDL Library

Téléchargement et liens

Historique des versions

v3.0.2
  • Transition majeure vers SDL3 :

    • Optimisation du callback audio (vldp_audio_callback) pour une gestion plus efficace des flux audio.
    • Correction d’un débordement de tampon dans le pilote sonore DAC (lié à SDL3, affectant notamment MACH3).
    • Suppression de l’argument -sound_buffer pour stabiliser le timing audio avec SDL3.
  • Améliorations graphiques et API :

    • Ajout d’un argument (-preserve_aspect_ratio) et d’une option [GLOBAL] (PRESERVEASPECT) pour préserver le ratio d’aspect sur les écrans non-standard (ex. : bezels cops hors 16:9).
    • Activation du bilinéaire sur les overlays via une macro (ALT-B) et une API (setOverlayOnTop()), avec support du dessin des overlays par-dessus les bezels.
    • Correction de l’alignement dans le menu tactique de Goal to Go (TMS9128).
  • Stabilité et corrections techniques :

    • Suppression d’un appel inapproprié à SDL_free lors de la détection des joysticks, réduisant les fuites mémoire potentielles.
    • Sérialisation des mises à jour audio (CHIP) protégée par des mutex locks pour éviter les conflits.
    • Simplification des fichiers .ini distribués (suppression de la section [GLOBAL] redondante et ajustements des valeurs par défaut).
  • Compatibilité et gestion des périphériques :

    • Ajout d’une API pour récupérer le nombre de souris relatives connectées.
    • Mise à jour du fichier gamecontrollerdb.txt pour une meilleure détection des manettes.
    • Prise en compte des commentaires // dans les fichiers ZipROM comme sur un système de fichiers.

Note : Aucune mention spécifique à macOS (builds .dmg, Apple Silicon, etc.) dans ce changelog.

Changelog complet
*** #### :pushpin: _External Links_ :fire: Support the project via **_[itch.io](https://dirtbagxon.itch.io/hypseus)_** download. :fire: Grab _Widge's_ recommended **_[Borf](https://therealwidge.itch.io/borf-launcher-for-hypseus)_  Launcher** for Windows. :fire: Try the brand new **[Android](https://www.youtube.com/watch?v=z4TmGtvEcZI)** port of Hypseus _[v3.0.2]_: **_[Hypdroid](https://github.com/rhakka303/Hypdroid/releases )_  ** :fire: **Libretro cores** _[under independent maintenance]_ for Hypseus: **_[here.](https://github.com/beudbeud/hypseus-singe/releases )_  ** :fire: Create your own _laserdisc_ style games with zero tech knowledge: **_[LaserForge](https://github.com/Eggmansworld/EggmansLaserForge )_  ** *** **Retrospective news:** - Links to the _[Hypdroid](https://github.com/rhakka303/Hypdroid )_ Android app and _[libretro](https://github.com/beudbeud/hypseus-singe/releases )_ cores added to _'External Links'_. - Experimental _RetroPie 'hypseus-sdl3' scriptmodules_ now available for download. [observe installation order] - Don't forget the drive for [_community help_](https://www.youtube.com/playlist?list=PLD9sPMuaC4s4) with missing media for the [_final Hypseus Picmatic game_](https://img.youtube.com/vi/7aELjpGZ2nk/sddefault.jpg) release. *** [![v3.0.2](https://github.com/DirtBagXon/hypseus-singe/assets/28685555/6db2f20d-7751-468c-a54a-a0267ea2253f)](https://github.com/DirtBagXon/hypseus-singe) This release changelog: Further SDL3 transitions. - Fine tune _vldp_audio_callback_ to utilize SDL3 streaming efficiently. - Added the ability to retrieve the number of connected "_relative mice_" in API - Altered example _.ini_ files so direct copies are sane for most users. - Removed misplaced `SDL_free` when detecting _MAX_GAMECONTROLLER_ joysticks. - Removed `-sound_buffer` to preserve new SDL3 audio stream timing. - Updated distributed _gamecontrollerdb.txt_ where appropriate. - Improved alignment in the _tms9128_ _Goal to Go_ play tactic menu. - Argument added to preserve video aspect ratio in non-standard displays. - Fixed an SDL3 caused buffer overflow in the DAC sound driver _[MACH3]_. - Blitting the game overlay on top of a game bezel is now supported. - Serialize the sound _CHIP_ updates via _Mutex_ lock_guards. - Add API call to flip bilinear scaling on the overlay. - Trim `[GLOBAL]` _.ini_ section in auto-generated files. - Add controlled _HINTING_ and _BLEND_ for _SDL3_TTF_ fonts. - Treat `//` in _ZipROM_, as on filesystem. - And more...   Comments: - This release fixes a long standing sound adjustment, speedup, issue in select game startup. - Bilinear scaling Service Menu options, in updated _Frameworks_, will become available in this release. - The `[GLOBAL]` section seemed to cause confusion, defaults are now simplified and enablements logged. - Added an argument and `[GLOBAL]` setting for aspect-ratio preservation on non-standard screen formats. `-preserve_aspect_ratio` argument and `PRESERVEASPECT` in `[GLOBALS]` This should allow better support for the `cops` bezel on _non-16:9_ displays. - Bilinear scale toggle on overlays is available via the toolbox macro: _ALT-B_ - `-overlaybezel` and `setOverlayOnTop()` _API_ allows overlay drawing over bezels. - Support the project via **_[itch.io](https://dirtbagxon.itch.io/hypseus)_** download. _Overlay over 16:9 bezel:_
v3.0.1
  • Migration vers SDL3 : Transition complète vers SDL3, incluant une refonte du système audio avec SDL3_Mixer pour un support natif des pistes musicales simultanées et des fadings, ainsi que l’intégration du mode relatif pour la souris (-relative-mice) sur plusieurs périphériques.

  • Nouveautés ROM : Ajout des ROMs eshfix7, eshfix7alt et eshfix7alt2 (corrections de niveau 7 par Shaun Wood & Matt Ownby).

  • Améliorations techniques :

    • Correction des problèmes de superposition de transparence avec SDL_BlitSurfaceScaled().
    • Prise en charge des fréquences d’images non standard MPEG2 via l’API Lua.
    • Suppression des restrictions héritées liées à SDL2.
    • Fonctionnement du mono overlay avec le mode FullAlpha.
    • Correction du redémarrage de la musique après une pause dans SDL3_Mixer.
  • Support étendu : Ajout du support KMSDRM et mise à jour de hypjsch (outil de gestion des ROMs).

(Aucune mention spécifique à macOS ou Apple Silicon dans ce changelog.)

Changelog complet
*** #### :pushpin: _External Links_ :fire: Grab the **_[Borf](https://therealwidge.itch.io/borf-launcher-for-hypseus)_  Launcher** for Windows. :fire: Create your own _laserdisc_ style games with zero tech knowledge: **_[LaserForge](https://github.com/Eggmansworld/EggmansLaserForge )_  ** *** [![v3.0.1](https://github.com/DirtBagXon/hypseus-singe/assets/28685555/6db2f20d-7751-468c-a54a-a0267ea2253f)](https://github.com/DirtBagXon/hypseus-singe) This release changelog: _SDL3_ transition. - Added ROM eshfix7, eshfix7alt & eshfix7alt2 - Level 7 fix by Shaun Wood & Matt Ownby - Utilize the new _SDL3_Mixer_ for multiple simultaneous music tracks and fading. - Added _SDL3 RelativeMouseMode_ across multiple mouse devices: `-relative-mice` - Fix transparency stacking issue when using _SDL_BlitSurfaceScaled( )_. - Allow customized "_non-standard_" MPEG2 framerates via LUA API - Provide detailed Joystick information in launch logs. - Removed annoying legacy _sdl2_ toggle restrictions. - Mono overlay now works with FullAlpha mode. - Fix music Resume from Pause in _SDL3_Mixer_. - Added `LINEARSCALE` to _.ini_ `[GLOBALS]` - Added _KMSDRM_ support. - Updated [`hypjsch`](https://github.com/DirtBagXon/hypjsch)
v2.12.1
  • Migration vers SDL3 : cette version marque la fin de la branche sdl2 (dernière version basée sur SDL2) et le début de la migration vers SDL3 dans la branche master (à partir de la version 3.0.0). Les futures évolutions se concentreront sur cette nouvelle API.

  • Nouveautés fonctionnelles majeures :

    • Ajout du support pour la transparence complète dans les sprites Lua (via -fullalpha ou l’API overlayFullAlpha()), avec une optimisation des performances (réduction de la consommation CPU).
    • Intégration du plugin lpeg pour Lua et du support des sous-titres .srt pour les jeux Lua.
    • Redesign des tableaux de score basés sur les overlays (lair, ace, tq) pour une meilleure lisibilité.
    • Amélioration de l’API overlayPrint() et suppression des prototypes inutilisés (dangling prototypes).
  • Corrections critiques :

    • Résolution d’un problème de gestion des références (reference count) dans le sous-système vidéo (suppression du chargement dynamique de SDL).
    • Correction potentielle de crashs liés à l’option -nosound.
  • Configurations utilisateur :

    • Possibilité de définir des assignations globales ([GLOBAL]) et souris ([MOUSE]) directement dans les fichiers .ini (ex : remappage des boutons de souris par défaut).
    • Nouveaux paramètres globaux configurables (ex : FULLALPHA, GRAPHICAPI, SCANLINES) avec priorité sur les arguments en ligne de commande.
  • Note technique :

    • Remplacement du fichier digital.ttf : les utilisateurs doivent copier manuellement la nouvelle version dans leur dossier font lors de la mise à jour.
Changelog complet
*** #### :pushpin: _External Links_ :fire: Grab the **_[Borf](https://therealwidge.itch.io/borf-launcher-for-hypseus)_  Launcher** for Windows. :fire: Create your own _laserdisc_ style games with zero tech knowledge: **_[LaserForge](https://github.com/Eggmansworld/EggmansLaserForge )_  ** *** [![v2.12.1](https://github.com/DirtBagXon/hypseus-singe/assets/28685555/6db2f20d-7751-468c-a54a-a0267ea2253f)](https://github.com/DirtBagXon/hypseus-singe) This release changelog: _**Note:**_ This release contains a replacement `digital.ttf` font. If upgrading, ensure the new `.ttf` is copied to your existing `font` folder. This _v2.12.1_ release will be the last sdl2 version. It will be remain in the `sdl2` branch. `master` branch now contains _v3.0.0  [a current feature matched]_  **sdl3** version. Several efficiency, transparency, configuration and feature updates in this release. * Removed SDL subsystem loading. Resolves _[video]_  'reference count' issues. * _[GLOBAL]_ and _[MOUSE]_ assignments can now be made in config _.ini_ files. * Implemented speed optimizations in LUA game sprite blitting. * Implemented support for full transparency in LUA sprites. * Altered the Rumble step range for a more natural growth. * Redesign of `lair`,`ace`, `tq` _'overlay'_ based scoreboards. * Don't compile _DEFUNC_ drivers by default. * Improved _overlayPrint()_ API functionality. * Fixed some potential _-nosound_ crashes. * Removed many dangling prototypes. * Added _.srt_ support for LUA games. * Added _lpeg_ plugin for LUA. * Begin migration to _SDL3_. _Comments:_ - Enabling semi-transparency in LUA sprites is achieved via `-fullalpha` or `overlayFullAlpha()` API. In _v3.0.0_  it can be enabled via the `[GLOBAL]` section of the new _.ini_ configuration. Be aware that most current game sprites do not utilize transparency fully. Using this feature may improve game speed and lower CPU utilisation. - There will no longer be generic _.bat_ file zips in releases. **_[Borf](https://therealwidge.itch.io/borf-launcher-for-hypseus)_** can create these _[fully customized]_ for you. - Default `[MOUSE]` config, which replicates current behaviour, is: ``` [MOUSE] MOUSE_BUTTON1 = KEY_BUTTON3 MOUSE_BUTTON2 = KEY_BUTTON1 MOUSE_BUTTON3 = KEY_BUTTON2 END ``` - Available `[GLOBAL]` options are: ``` [GLOBAL] SCREEN = 0 VLDPVOLUME = 40 NONVLDPVOLUME = 10 ALWAYSONTOP = FALSE FULLSCREEN = TRUE MANYMOUSE = FALSE GAMEPAD = TRUE SCANLINES = FALSE FULLALPHA = FALSE GRAPHICAPI = AUTO END ``` `SCREEN` refers to the `-screen` argument. `GRAPHICAPI` can be enforced to `OPENGL` or `VULKAN`. **Important Note:** `[GLOBAL]` config will override counterpart command-line arguments ‡ ‡ However, the whole section [including individual settings] are optional and can be removed safely. _Full transparency example:_

Captures d'écran

Dragon's Lair dans Hypseus