Commit graph

1764 commits

Author SHA1 Message Date
cmitu
530560055b mupen64pluus: workaround the GLES GlideN64 regression
Upstream GlideN64 has a regression due to a recent shader related change, which breaks the video output on GLES devices/platforms.
Until this issue is fixed in the upstream GlideN64, build the plugin from a commit before the changes that cause the regression.
2024-05-25 10:13:22 +01:00
Jools Wills
9e8362a98c Convert modules to using variable comparisons in flags
Replace GCC version checks in depends_* functions with variable comparisons in flags.
2024-05-21 21:20:32 +01:00
cmitu
7f71c6dddb yabasanshiro: fix building on ARM64
The previous build method on the Pi4 uses a CMake toolchain file which assumes a 32bit ARM system.
To make it compile on ARM64, remove the toolchain file usage and add the appropriate defines/options from it to the CMake invocation.
2024-05-13 05:38:37 +01:00
DirtBag Xon
562d4e4cb4 Add Sega Model3: supermodel 2024-05-06 15:54:06 +01:00
cmitu
b3fc3bed50 mame: add GCC requirements for version 0.265
Starting with version 0.265 (April 2024), GCC 10.3 is required for building MAME.
Enforce this requirement when building the emulator and libretro cores, Debian Buster will be getting 0.264 as the last version.
2024-04-30 15:45:07 +01:00
Jools Wills
01ca2520eb mupen64plus - fix building on armv8 with 64bit kernel/32bit userland
Set HOST_CPU to armv8 when we have the armv8 flag set
2024-04-24 19:03:19 +01:00
Jools Wills
b0a36e9dec
Merge pull request #3906 from cmitu/dosbox-staging-3
dosbox-staging: update dependencies and build options
2024-04-22 21:08:01 +01:00
Jools Wills
87bf691cfb
Merge pull request #3904 from cmitu/dolphin-6
dolphin: fix initial config
2024-04-22 21:07:16 +01:00
Jools Wills
28c62fdf1f
Merge pull request #3903 from cmitu/retroarch-config
retroarch: add back the commented config
2024-04-22 21:06:54 +01:00
cmitu
ce1a5a322c dosbox-staging: update dependencies and build options
1. I've noticed that on newer version of Meson, dependendant packages like `iir` and `mt32emu` are no longer built and linked statically.
Instead, they're created and then installed as dynamic libraries. The installation goes to `$md_inst/lib/<host-triplet>`, so the resulting binary doesn't work out-of-the-box, but the more important issue is that the `libmt32emu` library is not copied. As a result, `dosbox` will not be able to run on such a system.

The issue above doesn't seem to affect the RaspiOS (32/64bit) builds, but I had it happening on Debian Trixie (testing) and a recent Armbian Jammy 22.04 for OrangePi 5.

To make sure the above issue doesn't happen, link the `iir` and `mt32emu` libraries statically. They're always downloaded and built via Meson _wraps_, since there are no Debian packages for them.

2. Updated the dependency list so that:
  * `libslirp` and `fluidsynth` (v2) are installed on Bullseye or newer Debian, so they're not built via Meson wraps
  * `sdl2-image-dev` is not needed by `dosbox-staging` anymore.
  * added `zlib` as an explicit dependency
2024-04-22 04:54:37 +01:00
cmitu
1fd390f968 dolphin: fix initial config
The initial config is missing the 'ISOPaths' option, without it the game paths added in the initial configuration are ignored by Dolphin.
2024-04-21 08:02:55 +01:00
cmitu
f8cfb729a5 retroarch: add back the commented config
Previous commit removed the `retroarch.cfg` from upstream. While the configuration will set the right options in a new config file, we traditionally used the upstream's config as starting point, since it's largely commented and provides pointers for various configuration options.

Restore the previous behavior by including the upstream `retroarch.cfg` in `$md_inst`, since the makefile doesn't copy it during the install target.
2024-04-21 06:26:14 +01:00
Jools Wills
ac1dce6307 jzintv - add flag nodistcc to disable distcc for module
Remove setting DISTCC_HOSTS to an empty string to disable distcc (now handled by the module flag).
2024-04-17 00:54:41 +01:00
Jools Wills
1da8bdd2c4 mupen64plus - add flag nodistcc to disable distcc for module
Remove setting DISTCC_HOSTS to an empty string to disable distcc (now handled by the module flag).
2024-04-17 00:54:41 +01:00
Jools Wills
9aa86b8f2d
Merge pull request #3878 from cmitu/retroarch-1.17.0
retroarch: upgrade to v1.18.0
2024-04-16 21:22:36 +01:00
cmitu
ac1493cb43 dosbox-staging: pin version for videocore
Latest (0.81) version of Dosbox Staging doesn't go along with the legacy GPU VideoCore drivers, resulting in a SDL window initialization crash. Pin the 0.80.1 version for these devices, maybe a GLES2-only rendering path will be added later on, which would solve this issue.
2024-04-12 04:56:19 +01:00
Jools Wills
656a478ed7
Merge pull request #3899 from joolswills/hatari_mirror
Switch to using the github mirror for Hatari and bump version to 2.4.1
2024-04-12 01:49:11 +01:00
Jools Wills
17f41aa933 hatari - Upgrade to v2.4.1
Full changelog: https://raw.githubusercontent.com/hatari/hatari/v2.4.1/doc/release-notes.txt
2024-04-12 01:38:46 +01:00
Jools Wills
26e5e04bb3 hatari - Switch repository to the github mirror
The main site and repository is currently not working (https://hatari.tuxfamily.org/) so switch to the github mirror for now.
2024-04-12 01:36:58 +01:00
cmitu
93f630d21f retroarch: upgrade to v1.18.0
Upgraded RetroArch to version 1.18.0. Notable changes, cherry-picked from:

 - https://www.libretro.com/index.php/retroarch-1-17-0-release/
 - 9e492f74c8

 * Netplay
   - expanded the protocol to allow multiplayer games running on separate consoles/computers.
     Cores like 'Dosbox-Pure' or 'gPSP' support the new protocol.
   - add support for joining MITM servers from command line
 * Cheevos
    - upgrade to v11.0
    - don’t track disc changes when achievements are disabled
    - inform user when server is unreachable
    - fix crash on first load of game with achievements with threaded video
  * Input
    - fix ghost input when setting RETROK_UNKNOWN
    - default ‘Bind Hold’ to 0 to prevent problems with controllers not resting at null state
    - don’t save mouse buttons to autoconfig
    - add a setting to allow turbo d-pad directions
    - change event detection to polling in udev_joypad
    - add option for merging ‘Hotkey Enable’ device types
    - fix input state combos including R3 and false triggers of RETROK_UNKNOWN (1.18.0)
    - add a new turbo mode, "Classic (Toggle)" (1.18.0)
    - limit axis threshold setting to sensible values (1.18.0)
  * Menu
    - fix menu analog stick navigation (1.16.0.1)
    - fix word wrapped widget length
    - fix quit on content close option
    - don’t process menu events while input is being flushed (1.16.0.2)
    - add help text to controller drivers
    - fix text scaling in 16:9 (RGUI)
    - thumbnail related fixes (missing thumbnail bar, fullscreen thumbnail flashing, sidebar focus, OZONE)
    - background images take precedence over color themes, default image opacity set the same as color theme opacity (XMB)
    - fix segmentation fault when background image is missing (XMB)
    - layout/thumbnail fixes – Thumbnail layout adjustments, Header title improvements, Handheld layout adjustments (XMB)
    - add sublabels for input bind common entries (1.18.0)
    - don't disable fast forward when entering menu (1.18.0)
    - add option to disable initial disk change (1.18.0)
    - visibility option for disk control notifications (1.18.0)
  * Video
    - use video refresh rate instead of core refresh rate for menu frame limiting
    - limit paused video refresh rate
    - enforce swap interval 1 in menu if vsync is on
    - add FinalViewportSize support to GLSL
    - change rotation type to int to maximize compatibility

  * Patching
    - add support for XDelta-formatted patches.
    - fix patching for cores that support contentless mode

  * Other
    - Frame Rest, experimental sleep feature aiming to lower CPU usage and temperature when using certain CPU hungry vsync modes
    - introduce wp_fractional_scale_v1 protocol for proper fractional scaling (Wayland)
    - update wayland-protocols version to 1.31 (Wayland)

RetroPie module changes:

 - make `iniConfig` use the same parameters every time
 - removed spurious `ret` files on `_install`
 - set `input_overlay_enable` to enabled, since the default changed (to 'false') in 1.17.0.
   It helps overlay users that didn't explicitely set this parameter in the overlay overrides they're using.
 - set `sort_savestates_enable` and `sort_savefiles_enable` to `false`, since in 1.18.0 RetroArch would otherwise create sub-folders under the content path folder for save states and save files (`.srm`) (see RA issue https://github.com/libretro/RetroArch/issues/16430).
2024-04-11 16:54:49 +01:00
Jools Wills
9e1838b314
Merge pull request #3896 from cmitu/scummvm-2.8.1
scummvm: update standalone emulator to 2.8.1
2024-04-07 21:06:09 +01:00
DirtBagXon
5fa86e87b1
daphne: support the new zipped Singe ROMs
This will allow support for the new zipped Singe ROMs.
2024-04-02 21:30:02 +03:00
cmitu
1b45100740 scummvm: update standalone emulator to 2.8.1
The 2.8.1 is a bugfix release and includes upgrades for the following engines: AGI, AGS, GRIM, SWORD2, MM (which is now enabled, it was skipped it in 2.8.0 by accident), mTropolis, NANCY, SCUMM, TWINE, Ultima, and V-Cruise.

Full changelog at https://downloads.scummvm.org/frs/scummvm/2.8.1/ReleaseNotes.html.
2024-04-01 16:25:48 +01:00
Jools Wills
8b85e4579c advmame - switch to last stable v3.10
AdvanceMame is undergoing development and the current master branch fails on buster/bullseye.
2024-03-19 21:12:03 +00:00
retropieuser
de4c6061cd
Add multi disc functionality by default (#3886)
* Add multi disc functionality by default

* Update dolphin.sh
2024-03-17 18:38:50 +02:00
cmitu
636a1789bc mame: fix building latest version with old 'libzstd'
Version 0.263 introduced support for ZSTD compression for CHD files, but the version in Debian 10 Buster is not recent enough to compile MAME. Use the bundled source for `libzstd` instead of the system provided libraries for now.
2024-03-09 17:06:36 +00:00
Jools Wills
24a442cc67
Merge pull request #3845 from cmitu/sdl12-compat-backend
backends: add SDL1.2 Compat backend
2024-02-26 20:47:57 +00:00
cmitu
9f6e198b4d sdl12-compat: enable on a few SDL1 modules
Enable the 'sdl12-compat' backend for:

 * Atari800
 * Fuse
 * Osmose
 * Linapple2 (Linapple-Pie). Upstream seems to be still using SDL1.
 * OpenBOR
 * FBZX
 * XRick
 * CapriceRPI
2024-02-25 18:36:08 +00:00
Jools Wills
f8074585ac
Merge pull request #3868 from cmitu/dolphin-pi5
dolphin: updates to build and configuration
2024-02-25 16:31:02 +00:00
Jools Wills
2f118d7b3a
Merge pull request #3874 from cmitu/mame-update1
mame: modify build instructions and dependencies
2024-02-25 06:59:06 +00:00
cmitu
4b4d467846 mame: modify build instructions and dependencies
Made a few tweaks to optimize bulding MAME:

 - bump the RAM requirements, to ensure there's enough memory to complete the build.
 - don't build the MAME debugger on non-desktop platforms, since it would need a windowing environment to run anyway.
   This allows us to remove the QT dependencies and debugger compilation steps.
 - use system's flac/zstd libraries (more could be added)
 - tell the linker to remove debugging info, so the binaries don't need a 'strip' call afterwards
 - synchronize the optimization level in MAME with RetroPie's optimization flags (-O2), to avoid extra optimization during compiling (MAME defaults to '-O3').
2024-02-25 04:22:33 +00:00
cmitu
fe5555ea12 xroar: update to 1.5.3
New features in version 1.5:

*  Add ability to change Picture Area, seeing more or less border
*  New option -vo-picture
*  Respect -geometry dimensions in SDL-based UIs
*  Add optional 60Hz vertical scaling (on by default)
*  New option -no-vo-scale-60hz disables 60Hz scaling
*  Faster ROM intercept based printing on CoCo and MC-10
*  GIME: respect X offset and HVEN in COCO mode
*  MPI slot config moved from global to per-cart, included in -config-print
*  Add screenshot to PNG from menu or Control+Shift+S
*  Fix printing after switching machines [Jak Fearon]
*  Better rendering of paths in Windows dialogs
*  Fix some CoCo 3 cartridge behaviour [Christian Haitian]
*  GIME: reset video address later (fixes Androne) [Russ Le Blang]
*  GIME: fix various $FExx access problems
2024-02-21 04:03:01 +00:00
cmitu
b59cb28766 dolphin: updates to build and configuration
Modified the module to update the dependencies and improve the initial configuration

* Build changes:
   -  build dependencies modified to include SDL2. Latest version (as of Jan 2024) enable SDL2 by default on Linux and use it for input auto-configuration.
      Gamepads detected using SDL's GameController API are automatically configred based on their mappings.
   - disable analytics and update support durign the build. Updates are handled by RetroPie-Setup and - unfortunately - analytics require a keyboard/mouse to get over the initial agreement pop-up that is presented to the user on the 1st run.

* Configuration updates:
   - on KMS systems, start Dolphin via X11 by using the `XINIT-WM` launc prefix, which instructs `runcommand` to start a minimal desktop env.
   - change the location of the configuration folder, since now Dolphin follows the XDG specs and uses `$XDG_CONFIG_HOME` to store its settings.
     It will not affect existing installations, since we symlink-it to the configuration folder anyway and Dolphin will look in the previous location first.
   - pre-set a few initial configuration options in the main `Dolphin.ini` configuration file, upating existing options
   - add a new pre-set for the graphics backend configuration file in `GFX.ini` to switch to GLES3 on platforms where it is available.
     It should help the Pi5 but also other SBCs we support (i.e. OrangePi5 / RK3399) to startw the correct rendering backend.
   - set the '-gui' variant as default. Since the 'nogui' doesn't seem to read the configuration files correctly (i.e. no Fullscreen or Hotkeys are working), use the main program started with '--batch' to run a game
2024-02-17 06:20:21 +00:00
cmitu
7479eb2d42 quasi88: switch upstream repository
Switched the Quasi88 upstream repository to the "Quasi88Kai" fork [1], since it has some new developments and also supports SDL2.

Changes in the fork:

    * General updates to the build system and migration to CMake
    * All files converted to UTF-8
    * Many improvements in Windows, X11, GTK and SDL backends
    * Add a RetroAchievements-compatible version "RAQUASI88" (only for Windows at this time)

Had to apply a build patch since:
  * SDL2 2.0.10 libraries do not provide the SDL:SDL aliases in the `sdl2-config.cmake`
  * Buster's GCC (8) is implementing the filesystem C++17 API in `libstdc++fs`

[1] https://github.com/winterheart/quasi88
2024-01-27 06:26:37 +00:00
cmitu
49384ccfc7 px68: change upstream project
The original repository has long been abandoned, but several forks are still active. The (most ?) active one has added support for SDL2 (Audio, GameController API) and MIDI (Fluidsynth) among other things and it even has some SDL3 support in the works. [1]

This commit switches the source of the emulator to [1] and adjusts the dependencies, build instructions and files included. When building with Fluidsynth, install a minimal soundfont and also generate a minimal configuration referencing the installed soundfont path.

[1] https://github.com/TurtleBazooka/px68k, based on https://github.com/kenyahiro/px68k, original repository at https://github.com/hissorii/px68k.

Notable changes in this fork.
* Utilizes SDL2 Renderer (GPU), so "sdl-gfx" is unnecessary
* Supports Full-Screen Mode.(F11)
* Soft keyboard (Right click on F12Menu mode)
* SCSI DiskImage support (Can boot from *.HDS)
* Change final screen output to 24bit (RGB565→RGBA8888)
* Support MIDI-Play (Internal/Munt/fluidsynth/USB-MIDI) (NB: didn't find anything in sources about MUNT, I assume is used on Windows as MIDI softsynth)
* Support US-Keyboard layouts. keyconf.dat shoudl be copied into .keropi folder
* Printer output is saved to File
* Can use XBOX like USB-GamePad (hot-pluggable)
* Add support for CyberStick! (DIGITAL/ANALOG mode)
* FileName's UTF8/SJIS automatic detection Japanese display (dedicated table conversion)
2024-01-26 15:52:23 +00:00
Jools Wills
75cfcb14ea
Merge pull request #3844 from cmitu/mupen64plus-omx
mupen64plus: modify launch script for RPI detection
2024-01-24 17:00:55 +00:00
cmitu
e440a026b4 mupen64plus: modify launch script for RPI detection
Since recent kernels don't have the BCM string in `/proc/cpuinfo`, update the Raspberry Pi detection to use the device tree.

Other updates:

 * simplifed the selection of the OMX output plugin and port number. Applies only to Pi models 0-4, since Pi5 cannot use OMX
 * disabled pre-setting the 'pulse' SDL audio driver for non-OMX/ALSA devices. SDL will try 'pulseaudio' ('pulse' is the SDL 1.2 name) then 'alsa' in this order, so there's no need to force it to 'pulseaudio'. Starting with 2.0.22, SDL supports a list of drivers in the AUDIODEVICE hint, but Buster based systems are not there yet.
2024-01-24 16:53:00 +00:00
Jools Wills
8258090fe0
Merge pull request #3838 from rahim/amiberry-5.6.6
Amiberry 5.6.6
2024-01-23 17:44:26 +00:00
Jools Wills
b87442e744
Merge pull request #3841 from joolswills/mame_bullseye
Fix linking mame on Raspberry Pi OS bullseye
2024-01-23 17:29:41 +00:00
Jools Wills
204b9eb468 mame - fix linking on Raspberry Pi OS bullseye
Latest mame has an issue linking on Raspberry Pi OS Bullseye. It fails with

/usr/bin/ld: BFD (GNU Binutils for Raspbian) 2.35.2 assertion fail ../../bfd/elf32-arm.c:9876

Work around this by using the gold linker.
2024-01-23 17:27:25 +00:00
Rahim Packir Saibo
259bfd7760
amiberry: update to 5.6.6 2024-01-19 23:39:41 +00:00
Jools Wills
4870ea2aa5 lr-ppsspp - split out lr-ppsspp specific patches
This fixes binary builds not triggering due to the changes being in ppsspp.
2024-01-12 17:49:24 +00:00
Jools Wills
c110428880
Merge pull request #3828 from cmitu/scummvm-2.8.0
scummvm: upgrade to v2.8.0
2024-01-03 14:18:43 +00:00
Jools Wills
303a375920
Merge pull request #3827 from cmitu/atari800-update2
atari800: upgrade to 5.2.0
2024-01-03 14:18:21 +00:00
cmitu
12e21055ba scummvm: upgrade to v2.8.0
Added a few new depedencies needed in 2.8.0. The 'sonivox' option is disabled for now, since the package(s) needed are available starting with Debian 12 (bookwork) and Ubuntu 23.04 and thus not available everywhere.

ScummVM 2.8.0: Mysteries, Mammoths, and Muppets changelog (announced in https://www.scummvm.org/news/20231230/, full log at https://downloads.scummvm.org/frs/scummvm/2.8.0/ReleaseNotes.html)

New games added:

   * Adibou 1
   * Classical Cats
   * The Dark Eye
   * Dark Side
   * Escape From Hell
   * Gadget: Invention Travel and Adventure
   * Gobliiins 5
   * The Excavation of Hob's Barrow
   * Kingdom: The Far Reaches
   * Might and Magic Book One
   * Muppet Treasure Island
   * Nancy Drew: The Final Scene
   * Nancy Drew: Message in a Haunted Mansion
   * Nancy Drew: Secrets Can Kill
   * Nancy Drew: Stay Tuned for Danger
   * Nancy Drew: Treasure in the Royal Tower
   * Primordia
   * Reah: Face the Unknown
   * Schizm: Mysterious Journey
   * Shardlight
   * Strangeland
   * Syberia and Syberia II (macOS versions only)
   * Technobabylon
   * The Vampire Diaries
   * Whispers of a Machine
   * Wrath of the Gods and four other Director titles.
   * 14 AGS titles by Stranga and Cloak and Dagger

New Platforms:
   * Libretro, now part of the mainline sources
   * Atari, added as native port

Engine enhancements:
   * AGS engine has been upgraded to 3.6.0.53 from upstream
   * Added support for numerous Chinese and Japanese game variants in various engines.
   * Implemented a lot of native GUI dialogs for SCUMM games, bringing them closer to the original experience.
   * Re-implemented the sound engine for SCUMM Humongous Entertainment games, making them flawless.
   * Performed a deep review of the Broken Sword 1 game engine, implementing some small, previously unnoticed things like scene transitions, in-game menu peculiarities, accurate fonts, idle animations, and more. Now, the game is absolutely faithful to the original.
2024-01-02 15:17:42 +00:00
cmitu
25d120a0e9 atari800: upgrade to 5.2.0
Changes since 5.0.0:

   * Altirra OS updated to v3.41
   * Altirra BASIC updated to v1.58
   * Atari ST/TT/Falcon optimizations
   * Fixed keystrokes for inserting/deleting of line/character (#179)
   * SIO now resets BRKKEY (fixes Arsantica 3 demo)
   * Fixes CTRL and CAPS keys when using SDL12-compat library.
   * Show all input events on a single line during recording
   * RAM cartridges implementation
   * added XEX reading in monitor (useful for patches)
   * Added H: device rename; save it in setup file, possibility of renaming the host device (H:) to any letter but C: (cassette), E:, K: and S:

Full changelogs:
  - 5.1.0: https://github.com/atari800/atari800/releases/tag/ATARI800_5_1_0
  - 5.2.0: https://github.com/atari800/atari800/releases/tag/ATARI800_5_2_0
2024-01-01 03:55:56 +00:00
Jools Wills
508f3d1e64 mame - fix building 7zip/lzma on armv7 due to missing hardware crc
7zip/lzma assumes hardware crc support on arm, which breaks compilation on armv7.

Disable the check so it falls back to a software implementation.
2023-12-29 12:57:44 +00:00
Jools Wills
cf277b2ff6
Merge pull request #3819 from cmitu/libs-change
dependencies: handle obsolete `librasbperrypi-bin`
2023-12-11 22:26:31 +00:00
cmitu
267b81edfc dependencies: handle obsolete librasbperrypi-bin
The `libraspberrypi-bin` package has been deprecated in RaspiOS's latest Bookworm release [1], being replaced with `raspi-utils`.
We need this package for `tvservice`, but on KMS platforms this utility is obsolete and always returns an error.

The changes will:

 - leave the `libraspberrypi-bin` dependency in `runcommand` just for RPI+DispmanX platforms (Buster and eariler Raspbian)
 - replace the `mupen64plus` dependency with the correct one  (`libraspberrypi0`), since this is where the (E)GL(ES) VC drivers are located. `tvservice` , used by the starting script, should be installed by the `runcommand` dependency

[1] RasPiOS 06.Dec.2023 release, list of included packages: https://downloads.raspberrypi.com/raspios_arm64/images/raspios_arm64-2023-12-06/2023-12-05-raspios-bookworm-arm64.info
    Previous (and initial) Bookworm release contained the `libraspberrypi-bin` package: https://downloads.raspberrypi.com/raspios_arm64/images/raspios_arm64-2023-10-10/2023-10-10-raspios-bookworm-arm64.info
2023-12-11 03:32:12 +00:00
Jools Wills
acece6e057 Apply the ppsspp 1.16.6 gles2 fix to lr-ppsspp
It's required to fix missing defines building for opengles2 (videocore) as with v1.16.6 of ppsspp.

Use the __mod_info array to get the path of the patch, so it works when called from the lr-ppsspp scriptmodule.
2023-12-02 21:55:32 +00:00